$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开头的最大匹配模式