Shell script 笔记
2008-01-07 15:48 Jeff 阅读(593) 评论(0) 编辑 收藏 举报chmod a+x filename.sh
2.当shell发现了$,就会执行如下操作:
1).读取下一个单词来确定变量名
2).检索变量的值。如果变量没有赋值,则shell自动使用空字符串“”作为其值。
3). 用变量的值取代$和变量名。
这个过程被称为“变量置换”
3. 七个特定变量
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$$ 脚本运行的当前进程ID
$! 后台运行的最后一个进程的进程ID
$@ 类似于$#,但是使用时加引号,并在引号中返回参数.
$- 显示shell当前使用的当前选项,与set命令功能相同
$? 表示命令最后退出的状态,0表示没有错误,其他的任何值都表示有错误.
4. 有值置换
当一个变量已经被赋值时,置换一个值。语法为:$ {variable:+value}
当variable被赋值时,value被置换给它,否则,什么置换也不会发生,返回一个空字符
5. 命令置换
命令置换是一种机制,能使你获得命令的输出结果。在此机制下,shell执行命令集合,然后将命令的输出结果置换,可以使用`和`进行命令置换,形式如:
$ `command`
其中的command可以是一个简单命令、一个管道、或者一个命令列表。
注意:这里使用的是倒引号不是单引号!
E.g.: USER=`whoami`
6. 比较:
Int1 –eq int2 int1等于int2时返回真
-z str 当str长度为0时返回真
7. 使用$0
$0表示被执行的命令的名字,对shell脚本来说,就是调用它的路径。
用法一:获得调用脚本的命令名字
用法二:用于脚本的使用声明
8.其他位置变量
$1、$2、……依次表示脚本的第一、第二、…
…个参数,使用case等语句即可以进行选项和
参数的处理。