shell脚本的简单使用:七——之函数使用

[b][size=xx-small]shell种的函数[/size][/b]
函数有两个优势:
[i][color=red]
1. 将处理相同事情的一系列的调用的统一,代码利用率高,
2. 复杂的功能和模块拆分,便于代码的可读性[/color][/i]

#简单函数1
function1(){
echo "function1"
}
#简单函数2
function function2(){
echo "function function2"
}
#记得加上,要不然就是注释了
function1
function2

#带返回值的函数
returnFunction(){
return `expr $1 + $2`
}

returnFunction $1 $2
rv=$?
echo "reture value is $rv"

#在来一个大家都用的例子
funWithReturn(){
echo "get sum value of two number"
echo -n "input first number:"
read num1
echo -n "input second number"
read num2
echo "your input numbers are $num1 and $num2"
return "$(($num1+$num2))"
}
funWithReturn
rv=$?
echo "function funWithReturn return $rv"

#函数之间的调用
call_f(){
echo "this is function1"
call_f2
}
call_f2(){
echo "this is function2"
}
call_f

#删除方法
unset -f call_f2
call_f

运行命令sh function.sh 1 2 后的结果
function1
function function2
reture value is 3
get sum value of two number
input first number:3
input second number3
your input numbers are 3 and 3
function funWithReturn return 6
this is function1
this is function2
this is function1
function.sh: line 44: call_f2: command not found

函数中参数的传递

$# 传递给函数的参数个数。
$* 显示所有传递给函数的参数。
$@ 与$*相同,但是略有区别,在某些操作中该操作会拆分
$? 函数的返回值。

具体的脚本

#函数中传递参数
funWithParam(){
echo "paragram 1 $1"
echo "paragram 2 $2"
echo "paragram 3 $3"
echo "paragram 4 $4"
echo "paragram 5 $5"
echo "paragram number $#"
echo "paragram all $@"
}
funWithParam 1 2 3 4 5 6 7

执行后的结果
paragram 1 1
paragram 2 2
paragram 3 3
paragram 4 4
paragram 5 5
paragram number 7
paragram all 1 2 3 4 5 6 7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值