shell 脚本参数
-
汇总
# 说明 备注 $# 脚本的参数个数 $0 执行的脚本文件 $1...n 具体的参数,$1 代表第一个参数 $$ 执行脚本的进程ID $? 脚本执行状态 0表示没有错误,其他任何值表明有错误 $* 引用所有的参数 $@ 引用所有的参数 -
$* 与 $@ 区别
- 只有在双引号中体现出来。假设在脚本运行时传递三个参数 p1, p2, p3,则 "$* " 等价于 "p1 p2 p3"(传递了一个参数),而 "$@" 等价于 "p1" "p2" "p3"(传递了三个参数
-
示例
echo '-- $# 参数个数 \t\t' $# echo '-- $0 执行脚本名 \t' $0 echo '-- $1 脚本第一个参数 \t' $1 echo '-- $$ 脚本进程ID \t' $$ echo '-- $? 脚本执行状态(0表示没有错误,其他任何值表明有错误) \t' $? echo '-- $* 参数引用\t\t' $* echo '-- $@ 参数引用\t\t' $@ echo '-- "$* 单字符显示所有传递参数参数: for i in "$*"; do echo $i done"' for i in "$*"; do echo '\t' $i done echo '-- "$@ 参数以数组形式存在:for i in "$@"; do echo $i done"' for i in "$@"; do echo '\t' $i done