说法一

$? 上一条命令执行后返回的状态
$# 参数的数量
$* 所有参数的内容
$$ 当前进程的进程号
$! 后台运行的最后一个进程号
$0 当前执行的进程名
$n 第n个参数值,n=1..9
$@ 跟$*类似,但是可以当作数组用


说法二

$0 这个程式的执行名字
$n 这个程式的第n个参数值,n=1..9
$* 这个程式的所有参数,此选项参数可超过9个。
$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前进程ID号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
$@ 跟$*类似,但是可以当作数组用