- $0 当前脚本的执行名字
- $n 当前脚本执行命令的第n个参数值,n = 1..9
- $* 当前脚本执行命令的所有参数,此选项参数可超过9个
- $# 当前脚本执行命令的输入参数个数,例如执行 ./test.sh aa bb cc ,则在 test.sh 里 $# 为 3
- $$ 当前shell的PID(即脚本运行的当前进程号)
- $! 上一个执行指令的PID(后台运行的最后一个进程的进程ID号)
- $- 显示shell使用的当前选项,与set命令功能相同
- $@ 跟$*类似,但是可以当作数组用
- $? 上一个执行指令的返回值(显示最后命令的退出状态,0表示没有错误,其他任何值表明有错误),如下所示
# 结果输出上一条命令 grep 命令的返回值
grep xxx a.txt
echo $?
# 判断打开目录命令是否成功,不成功则输出提醒信息并退出
dir_exe=../cron
cd $dir_exe
if [ $? -ne 0 ]; then
echo "cannot change dir to $dir_exe"
exit 1
fi