函数
概述
Function(函数) 就是代码块,函数中表示了一堆代码的集合,当调用函数的时候,则会执行函数中函数体内的命令
语法格式:
function NAME(){
函数体
}
# 或者
NAME() {
函数体
}
调用方式:在 shell 脚本中,函数并不会执行,只有在调用的时候,才会执行函数体中的命令
- 直接使用函数名即可调用,函数名出现的地方,会被自动替换为函数体中的命令
- 在调用函数时,传递参数给函数体,在函数名后面以空白分隔指定的参数列表即可。e.g.FunctionName ARG1 ARG2 …ARGn
- 每个参数可以在函数体中使用位置参数进行引用,i.e.ARG1 在函数体中就是$1 的值,ARG2 在函数体中就是$2 的值,以此类推
函数的生命周期:被调用时创建,返回时终止
使用 return 命令返回自定义状态结果
- 0:成功
- 1-255:失败
函数中的变量:在函数体内定义的变量只对该函数生效,当函数生命周期结束时,变量失效。
注意:在函数体中,可以修改全局变量的值
函数的递归:函数直接或间接调用自身
函数递归的应用实例:
阶乘:N!=N(n-1)(n-2)…1
#/bin/bash
fact() {
if [ $1 -eq 0 -o $1 -eq 1 ]; then
echo 1
else
echo $[$1*$(fact $[$1-1])]
fi}
fact $1
步骤:比如给 fact 传递参数 5
- 如果 5 大于 0 或者大于 1,那么使用
5*fact
函数,且再次调用函数时参数为 5-1 - 再次调用函数的时候,不但有 4,还有函数,i.e.
5*4*fact
函数,直到函数的参数值为 1 或 0
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.