shell接收参数

$0 文件名及路径

$1,$2 参数1,参数2 , 也可以用${1} 和 ${2} 来表示

$# 传递给脚本或函数的参数个数

$$ 当前Shell进程ID

$? 判断上个命令的执行成功与否,0为成功。

$@ 传递脚本或函数的所有参数

$* 传递脚本或函数的所有参数

注:

1.$@和$*都是传递脚本或函数的所有参数。被双引号" "包含时,两者有区别如下

[root@web01 shell]# cat test.sh
#!/bin/bash
for var in “$@”  # 参数当做列表传给$@
do
echo "$var"
done
[root@web01 shell]# sh test.sh param1 param2 param3
param1 
param2
param3
[root@web01 shell]# cat test.sh
#!/bin/bash
for var in "$*"   # 参数当做字符串传给$*
do
echo "$var"
done
[root@web01 shell]# sh test.sh param1 param2 param3
param1 param2 param3
原文地址:https://www.cnblogs.com/cchilei/p/13494409.html