shell函数
函数*
格式:
[ Function ] funname [()]
{
action;
[return int;]
}
注:
- 可以带function fun()定义,也可以直接fun()定义,不带任何参数。
- 参数返回,可以显示加:return返回,如果不加,将以最后一条命令运行结果,作为返回值。return后跟数值n(0-255).
例1:
demoFun(){
echo "这是我的第一个shell函数!"
}
echo "---函数开始执行---"
demoFun
echo "---函数执行完毕---"
输出结果:
---函数开始执行---
这是我的第一个shell函数!
---函数执行完毕---
例2:带有return语句
funWithReturn(){
echo "两个数字相加"
echo "输入第一个数字:"
read aNum
echo "输入第二个数:"
read anotherNum
echo "两个数字分别是$aNum 和 $anotherNum!"
return $(($aNum+$anotherNum))
}
funWithReturn
echo "输入的两个数字之和为 $?!"
输出结果:
两个数字相加
输入第一个数字:1
输入第二个数字:2
两个数字分别是1和2!
输入的两个数字之和为3!
注:函数的返回值在调用该函数后通过$?来获得.
函数参数
在shell中,调用函数时可以向其中传递参数。
带参数的函数例示:
funWithParam(){
echo "第一个参数为$1"
echo "第二个参数为$2"
echo "第十个参数为:${10}"
echo "参数的总个数: $#"
echo "作为一个字符串输出所有参数:$*"
}
funWithParam 1 2 3 4 5 6 7 8 9 0
输出结果:
第一个参数为1
第二个参数为2
第十个参数为:0
参数的总个数:10
作为一个字符串输出所有参数:1 2 3 4 5 6 7 8 9 0
注:当参数n的个数大于等于10时,需要${n}来获取参数。