首页 > 代码库 > shell 脚本中$$,$#,$?分别代表什么意思?

shell 脚本中$$,$#,$?分别代表什么意思?

$0 这个程式的执行名字
$n 这个程式的第n个参数值,n=1..9
$* 这个程式的所有参数,此选项参数可超过9个。
$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前进程ID号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
$@ 跟$*类似,但是可以当作数组用if [ -z "$DIRNAME" ]这里的-z是什么意思啊?if [ -d /userdata ] 这个-d呢?类似这样的文件操作在shell编程中用处很大:我总结有一些一些经常使用-d :判断制定的是否为目录-z:判断制定的变量是否存在值-f:判断制定的是否为文件-L:判断制定的是否为符号链接-r:判断制定的是否可读-s:判断存在的对象长度是否为0-w:判断制定的是否可写-x:判断存在的对象是否可以执行!:测试条件的否定符号这些文件操作很多时候给脚本编程带来方便,尤其是用在if条件语句中