在执行shell脚本时可以传递参数:
脚本获取参数的格式为:$0 $1 $2 ...其中$1 为传递的第一个参数(以此类推),而$0接收的是./test.sh这个东西(文件名)。
例:代码如下
#!/bin/bash
echo "1--"$0
echo "2--"$1
echo "3--"$2
运行结果:
注意:大家可以看到我运行时后面传了两个参数 11 22,但是接收时$0接的是./test.sh,而$1与$2接收的才是真正的参数。
另外还有几个特殊字符用来处理参数:[hide]
$#用例:
#!/bin/bash
echo "1--"$0
echo "2--"$1
echo "3--"$2
echo "------"$#
运行结果:
从图中可以看到最后一行输出的值 为2,即:参数的个数。
$*用例:
#!/bin/bash
echo "1--"$0
echo "2--"$1
echo "3--"$2
echo "------"$*
运行结果:
从中看到输出的是“11 22”这样的单字符串。
[/hide]$@和$*用法差不多一个样的,区别在于前者是把每个参数分开的,而后者是把所有参数看作一个单字符串。