$0 = shell 名称或 shell 脚本名称


$1 = 第一个 shell 参数


...


$9 = 第九个 shell 参数


$# = 位置参数的个数


"$*" = "$1 $2 $3 $4 .. $n"


"$@" = "$1" "$2" "$3" "$4" .. "$n"


$? = 最近执行的命令的退出状态


$$ = 当前 shell 脚本的 PID


$! = 最近启动的后台作业的 PID


形式


如果设置了 var 如果没设置 var


${var:-string} $var


string


${var:+string} string


null


${var:=string} $var


string (并执行 var = string)


${var:?string} $var


返回 string 然后退出


形式


结果


${var%suffix} 删除位于 var 结尾的最小匹配模式


${var%%suffix} 删除位于 var 结尾的最大匹配模式


${var#suffix} 删除位于 var 开头的最小匹配模式


${var##suffix} 删除位于 var 开头的最大匹配模式