【学习分享】shell基础-参数传递
参数传递
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为 $n,n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数。
例如可以使用 $1、$2 等来引用传递给脚本的参数,其中 $1 表示第一个参数,$2 表示第二个参数,依此类推
#!/bin/bashecho “$0” #输出脚本名称 包含路径echo "$1" #输出第一个参数 后续的参考上述概念
特殊字符释义:
-
$#:传递到脚本的参数个数(例如:传递的参数为 a b 从,调用该命令,输出3)
-
$*:把所有参数以字符串的形式都传递到脚本
-
$$:脚本运行的当前进程ID号
-
$!:后台运行的最后一个进程的ID号
-
$@:与$*有点相似,在最后具体说明差异
-
$-:显示shell当前选项
-
$?:显示最后命令的退出状态,0表示没有任何错误,其他值是有错误的
$* 与 $@ 区别:
-
相同点:都是引用所有参数。
-
不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。