Shell 函数
Linux Shell可以用户定义函数,然后在shell脚本中可以随便调用。 Shell中函数定义格式如下:
[function] funname [()]
{
action;
[return int;]
}
说明:
可以带function fun()定义,也可以直接fun()定义,不带任何参数
参数返回,可以显示加:return,如果不加,将以最后一条命令运行结果,作为返回值,return后跟数值n(0~255)
- 实例
- 定义一个函数并进行调用
#!/bin/bash
function demoFun(){
echo "第一个shell函数"
}
demoFun # 调用函数
输出结果:
第一个shell函数
- 定义一个带有return语句的函数
#!/bin/bash
function demoFun(){
a=10
b=20
return $(($a+$b))
}
demoFun
echo "$?"
输出结果:
30
函数返回值在调用该函数后通过$?来获取
函数参数
在shell中,调用函数时可以向其传递参数。在函数体内部,通过$n的形式来获取参数的值,例如,$1表示比一个参数、$2表示第二个参数...
- 实例
- 带参数的函数
#!/bin/bash
getMax(){
echo "获取第1个参数:$1"
echo "获取第2个参数:$2"
echo "获取第3个参数:$3"
echo "获取第4个参数:$4"
echo "获取第5个参数:$5"
echo "获取第6个参数:$6"
echo "获取第7个参数:$7"
echo "获取第8个参数:$4"
echo "获取第9个参数:$9"
echo "获取第10个参数:${10}" #当n>=10时,需要使用${n}来获取参数
echo "$*" #$*作字符串输入出所有参数
temp=$1
for i in $*
do
if [ $i -gt $temp ]
then
temp=$i
fi
done
return $temp #函数返回值在调用该函数后,通过$?获取
}
getMax 1 22 333 4 55 6 7 8 9 100
echo $temp
执行结果:
获取第1个参数:1
获取第2个参数:22
获取第3个参数:333
获取第4个参数:4
获取第5个参数:55
获取第6个参数:6
获取第7个参数:7
获取第8个参数:4
获取第9个参数:9
获取第10个参数:100
1 22 333 4 55 6 7 8 9 100
333
注意,$10不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数