####函数###
#1 语法 一般都选择方法2,定义函数名前加function比较正规
方法1:
函数名(){
函数体
return n
}
方法2:
function 函数名(){
函数体
return n
}
##调用函数:
练习1: 简单的应用,调用函数输出一句话
脚本:
结果:
###引用函数
练习2:调用函数,循环输出
sh -x 脚本名称 // 对脚本进行调试
脚本:
结果:
###函数不移动要在最开始定义,但是如果函数在没有定义之前就是要会报错
练习:未定义函数就使用函数,会报错
脚本:
结果:
###函数名必须是唯一的,如果重新定义了函数,新的函数会覆盖旧的
脚本:
#!/bin/bash
function fun1() {
echo "first fun1"
}
fun1
function fun1() {
echo "second fun1"
}
fun1
function fun1() {
echo "third fun1"
}
echo "End"
结果:
###返回值
1)默认退出的状态码:默认情况下,函数的退出的状态码是函数中的最后一条命令的返回的退出状态码
2)使用return 命令
shell使用return命令来退出函数并返回特定的退出状态码
3)使用函数输出
将函数的输出保存在shell变量中
可以获得任何类型的函数输出,并将其保存到变量中
4)函数中使用变量
可以想函数中传递参数
函数名会在$0变量中定义,函数命令行上的任何参数都会通过$1,$2定义
$#来判断穿给函数的参数数目
5)函数不能直接从命令行获取脚本的参数值
1的练习题:默认退出的状态码
练习:具体实例体会退出状态码的作用
脚本1:
结果:
脚本2:
结果:
2的练习题:使用函数输出
脚本:
结果:
练习题:若输入数字的个数为0则输出-1,若输入一个数字则执行自加,若输入两个数字,则执行两数相加
脚本: