$0 = shell名称或shell脚本名称
$1 = 第一个shell参数
...
$9 = 第九个shell参数
$# = 位置参数的个数
"$*" = "$1 $2 $3 $4 .. $n"
"$@" = "$1" "$2" "$3" "$4" .. "$n"
$? = 最近执行的命令的退出状态
$$ = 当前shell脚本的PID
$! = 最近启动的后台作业的PID
$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:-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开头的最大匹配模式
${var%suffix} 删除位于var结尾的最小匹配模式
${var%%suffix} 删除位于var结尾的最大匹配模式
${var#suffix} 删除位于var开头的最小匹配模式
${var##suffix} 删除位于var开头的最大匹配模式