1. shell 自动设置的内部变量
变量 说明
# $# 获取参数的总数
? $? 变量是最近一次执行的命令或 shell 脚本的出口状态
$ $$ shell 脚本本身进程的ID
* $* 表示所有的位置参数,其值是所有位置参数的值, 相当于 "$1 $2 $3 ..."",
表示一个参数
@ $@ 类似于$*, 表示所有的位置参数, $@ 相当于 "$1" "$2" "$3" ..., 表示多个参数
PWD 表示当前的工作日杂, 其变量值等同于 pwd 内部命令的输出
SECONDS @SECONDS 是脚本己经运行的时间(秒数)
2. 各种变量替换形式的比较
----------------------------------------------
比较 var 己设置且其值为非NULL var己设置但值为NULL var 未设置
${var:-value} 使用 var 替换 使用 value 替换 使用 value 替换
${var-value} 使用 var 替换 使用 null 替换 使用 value 替换
${var:=value} 使用 var 替换 使用 value 赋值并替换 使用 value 赋值并替换
${var=value} 使用 var 替换 使用 value 替换 使用 value 替换
${var:?value} 使用 var 替换 错误,退出,返回 1 错误,退出,返回 1
${var?value} 使用 var 替换 使用 null 替换 错误,退出,返回 1
${var:+value} 使用 value 替换 使用 null 替换 使用 null 替换
${var+value} 使用 value 替换 使用 value 替换 使用 null 替换
3. 其他特殊变量替换形式
--------------------------------------------------------------------------
其他特殊变量替换 说明
${#var} 字符串的长度
${var#Pattern} 从变量 $var 的前部删除与给定模式匹配的最短或最长部分子串.
${var##Pattern}
${var%Pattern} 从变量 $var 的后部删除与给定模式匹配的最短或最长部分子串.
${var%%Pattern}
阅读(1211) | 评论(1) | 转发(0) |