SciRui 2020-01-31
函数的定义
函数名称() {
执行的代码块
}
function 函数名 {
执行的代码块
}
函数需要先定义,然后才能调用;调用函数时,只需要输入函数名即可;函数可以多次反复调用。
函数中定义的变量和shell中的变量不是一回事;函数中定义的变量,需要在调用函数时赋值或引用。函数中的变量和shell变量保持一致,需要在调用函数时和shell变量一致。
举例:
vim function.sh
#!/bin/bash
#function for using
fac () {
fac=1 #函数名和变量一般不要一样,否则会出现冲突
for((i=1;i<=$1;i++)) #C语言风格的for
do
fac=$[$fac * $i]
done
echo "$1的阶乘是: $fac" #取最终结果的值,放在for之后
}
fac $1
fac $2
fac $3 #$1、$2、$3都位置参数,对于fac函数来说都是$1
sh function.sh 2 4 5
2的阶乘是:2
4的阶乘是:24
5的阶乘是:120
注意:函数的位置参数和shell的变量不一致