1.函数定义
funcname()
{
方法体
}
或
[function] funcname[()]
{
方法体;
[return int;]
}
[]里面的可以省略
2.函数参数
#!/bin/bash
test() {
j=1;
for((i=1;i<=$1;i++))
do
j=`expr $i \* $j`
done
echo $j
}
test 10
使用$n来接收参数 上述代码 传入了参数10;
如果想要运行脚本的时候设置参数可以将10改成$1。 然后运行的时候:sh 文件名.sh 参数
3.函数返回值
# return 方式 只能返回 0-255之间的数值 返回值是最后一句命令的执行结果
!/bin/bash
fun(){
j=1
for i in `seq 10`
do
j=`expr $i + $j`
done
return $j
}
fun
echo " fun 返回值:$?"
# 返回结果 55
!/bin/bash
fun(){
j=1
for i in `seq 10`
do
j=`expr $i \* $j`
done
return $j
}
fun
echo " fun 返回值:$?"
# return的结果超过了255 最终结果返回了0
# echo方式
#!/bin/bash
fun(){
j=1
for i in `seq 10`
do
j=`expr $i \* $j`
done
echo $j
}
result=`fun`
echo " fun 返回值:$result"
#正常返回了 362880