$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条件语句中 echo '$* is ' $* echo '$# is ' $# echo '$$ is ' $$ echo '$? is ' $? echo '$0 is ' $0 echo '$1 is ' $1 #read abc abs abd #echo $abc #echo $abs #echo $abd expr 3 + 5 expr 3 - 5 expr 100 / 3 expr 100 \* 3 sh -x 显示执行该脚本执行所有变量的值 sh -n 返回所有语法错误信息
shell 脚本中$$,$#,$?分别代表什么意思?
最新推荐文章于 2024-10-11 14:12:27 发布