几个需要记住的特殊参数:
$0 = shell 名称或 shel 脚本名称
$1 = 第一个(1)shell 参数
...
$9 = 第九个(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 结尾的 suffix 最小匹配模式
${var%%suffix} 删除位于 var 结尾的 suffix 最大匹配模式
${var#prefix} 删除位于 var 开头的 prefix 最小匹配模式
${var##prefix} 删除位于 var 开头的 prefix 最大匹配模式
$0 = shell 名称或 shel 脚本名称
$1 = 第一个(1)shell 参数
...
$9 = 第九个(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 结尾的 suffix 最小匹配模式
${var%%suffix} 删除位于 var 结尾的 suffix 最大匹配模式
${var#prefix} 删除位于 var 开头的 prefix 最小匹配模式
${var##prefix} 删除位于 var 开头的 prefix 最大匹配模式