飞翔灬吾爱的Blog
Linux 7 | shell参数传递
2018-8-1 fishyoung

在执行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]$@和$*用法差不多一个样的,区别在于前者是把每个参数分开的,而后者是把所有参数看作一个单字符串。