shell 函数:
同开发语言函数一样,shell同样有函数签名,函数体,返回值
函数签名: 函数名,入參(shell一般为空,可以通过${变量名},read 变量名进行外部获取)
函数体: 具体shell命令
返回值: 返回值以最后一行命令的结果为准;只能是整数,如果想要接受字符串 ,函数前部声明变量,用于返回值的承接.
函数调用:
vim shellFunction.sh
#!/bin/bash
funWithReturn(){
echo "The function is to get the sum of two numbers..."
echo -n "输入数字a: "
read a
echo -n "输入数字a: "
read b
echo "输入的数字为: $a , $b !"
#只能是数字
return $(($a+$b))
}
funWithReturn
# 获取上面函数的返回值
echo "返回值是"$?
sh shellFunction.sh
2:返回字符串: 在函数前面声明字符串变量,在函数计算完毕后,将结果赋值给前面声明的变量
#! /bin/bash
#定义单个函数函数 先声明,后调用
returnStr=""
#函数
hello () {
echo "这是一个单函数: hello()"
echo "输入一个字符串: "
read oneparam
echo "获取传入参数: ${oneparam}"
# 只能返回整数,要么返回整数
#要么函数外部声明定义的变量接收函数结果;或者使用echo来在外部接收
returnStr=$${oneparam}
}
#先声明,后调用,直接调用,无需()
hello
echo "funcation return value: ${oneparam}"
3.嵌套函数
#! /bin/bash
number_one () {
echo "第一个函数\n"
number_two
}
number_two () {
echo "第二个函数\n"
}
number_one
echo "函数调用结果: "$?