Chinaunix首页 | 论坛 | 博客
  • 博客访问: 811107
  • 博文数量: 92
  • 博客积分: 1498
  • 博客等级: 上尉
  • 技术积分: 993
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-18 18:31
文章分类

全部博文(92)

文章存档

2013年(2)

2012年(3)

2011年(3)

2010年(61)

2009年(23)

分类: Python/Ruby

2010-08-14 00:31:10

shell这个东西应该是坚持的,但是又不能专门耗费大量的时间耗在这个上面,因此,每次积累那么一点点,用到那么一点点。慢慢的。
就行了。首先,就是shell中的特殊字符,这应该是shell的特色之一。

#     注释,行首以#考头是个注释,(#!是个例外) ‘\’可以用来转义这个字符
;      命令分隔符,可以用来在一行中来写多个命令,比如 echo hello;echo world
;;     终止”case”选项
case “$variable” in
abc) echo “$variable =abc” ;;
xyz) echo “$variable =xyz” ;;
esac
.      .命令等价于source命令。这是一个bash的内建命令
.      .作为文件名的一部分,如果作为文件名的前缀的话,那么这个文件为隐藏文件不被ls列出
.作为目录名的一部分,那么.表达的是当前目录.“..”表示上一级目录
.       .作为字符匹配,这是正则表到式的一部分,用来匹配任何的单个字符。
”       部分引用,”STRING”阻止了一部分特殊字符
‘        全引用.”STRING”阻止了全部特殊字符
,       逗号链接了一系列的算术操作,虽然里边所有的内容都被运行了,但是只有最后一项被返回。(类似于C语言中的逗号运算)
\        转义字符
/        文件名路径的分隔符.或者用来做出发操作
`       后置引用,命令替换 在键盘的位置是Esc的下面,1左边的那个字符
:        空命令,等价于”NOP”(no op一个什么也不干的命令),返回值为0,就是shell返回的true
死循环如:
while:
do
operation1
operation2
operation3
done
“:”还用来在/etc/passwd和$PATH变量中用来做分隔符。

!        取反操作,将反转”退出结果”,也会反转test操作符的意义,比如修改=为!= 。!操作是bash的一个关键字
*       万能匹配字符,用于文件名匹配,或者是正则表达式中,(正则表达式中和文件名匹配中的作用是不同的)
*       数学乘法,
**幂运算。
?       测试操作,在一个确定的表达式中,用?来测试结果。(())结构可以用来用于数学计算,或者是写C代码,?就是c语言的3目操作符的一个。在“参数替换”中,?测试一个变量是否被set了
$       变量替换,在正则表达式中作为行结束符
${}       参数替换
$* $@       位置参数
$?       退出状态变量.$?保存一个命令/一个函数或者脚本本身的退出状态
$       进程ID变量,这个$变量保存运行脚本进程ID。
()       命令组比如:
a=123
(a=321;)
echo “a=$a” #输出a=123
{}       代码块,又被称为内部组,事实上,这个结构创建了一个匿名的函数。但是与函数不同的是,在其中声明的变量,对于脚本其他的部分的代码来说还是可见的。
a=123
{a=321;}
echo “a=$a” #输出a=321

未完待续。。

阅读(1603) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~