在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 n的形式来获取参数的值,例如, 1表示第一个参数,$2表示第二个参数…
变量 意义
$n 传递给脚本的参数,n可以写成除0以外的参数,eg:$1表第一个参数;$2表第二个参数
$* 以一个字符串的形式显示所有参数
$@ 显示所有参数,加""后就和$*不一样,(下面案例)
$? 上一个命令的退出状态,或者函数的返回值。0表示成功 1表失败 如果上一条不是前两种情况是方法,返回一个方法的返回值
$# 返回传递给脚本的参数个数
eg(带参数的函数示例):
#!/bin/bash
funWithParam(){
echo "第一个参数是: $1 !"
echo "第二个参数是: $2 !"
echo " 第10个参数是:$10 !"
echo " 第10个参数是:${10} !"
echo " 第十一个参数是:${11} !"
echo " 返回传递给脚本的参数个数: $# !" # 参数个数
echo "以一个字符串的形式显示所有参数: $* !" # 传递给函数的所有参数
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73
运行脚本:
结果1:
[root@h data]# chmod +x ./c.sh
[root@h data]# ./c.sh
第一个参数是: 1 !
第二个参数是: 2 !
第5个参数是:5 !
第5个参数是:5 !
第十一个参数是:73 !
返回传递给脚本的参数个数: 11 !
以一个字符串的形式显示所有参数: 1 2 3 4 5 6 7 8 9 34 73 !
结果2:
[root@h data]# ./c.sh
第一个参数是: 1 !
第二个参数是: 2 !
第10个参数是:10 !
第10个参数是:34 !
第十一个参数是:73 !
返回传递给脚本的参数个数: 11 !
以一个字符串的形式显示所有参数: 1 2 3 4 5 6 7 8 9 34 73 !
注意:
$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数