二、变量(续)
1、特殊变量
$0 当前脚本的文件名
$n n是一个数字,表示第几个参数。比如:$1就是第一个参数,$2就是第二个参数
$# 传递给脚本的参数个数
$@ 传递给脚本的所有参数
$* 传递给脚本的所有参数
$? 上个命令的退出状态,或函数的返回值
$$ 当前shell进程ID
2、-e转义字符
a=10
echo -e "value of a is $a \n"
-e表示对转义字符进行替换。如果不适用-e选项,将会原样输出
三、命令替换、变量替换
1、命令替换
‘command’ 注意:是反引号,不是单引号,这个键位于Esc键下方
比如:DATE='date'
echo 'Date os $DATE'
结果:Thu Jul 2 11:11:11 MST 2009
2、变量替换
${var} 变量本来的值
${var:-word} 如果变量var为空或已被删除(unset),那么返回word,但不改变var的值
${var:=word} 如果变量var为空或已被删除(unset),那么返回word,并将var的值设置为word
${var:?message} 如果变量var为空或已被删除(unset),那么将消息message送到标准错误输出,可以用来检测变量var是否可以被正常赋值
${var:+word} 如果变量var被定义,那么返回word,但不改变var的值
四、算术运算符
val=`expr 2 + 2`
echo "Total value : ${val}"
结果:Total value : 4
注意:
1、表达式和运算符之间要有空格,例如,写成2+2是不对的,必须写成2 + 2.
2、完整的表达式要被` `包含,这个字符是在Esc键下边