shell脚本函数的使用
函数是一个脚本代码块,你可以对它进行自定义命名,并且可以在脚本中任意位置使用这个函数,要使用这个函数,只需使用这个函数名称
函数:把一个功能封装起来。使用时直接调用函数名。
优点:模块化,代码可读性强。
两种·创建函数的方法:
方法一:
function name() {
命令序列
[return value]
}
方法二:
name() {
命令序列
[return value]
}
1.其中function是可选的,这个可以省略掉。
2.name是函数唯一的名称,函数名后面加一个(),里面是没有内容的。而我们执行的命令序列放在{}里面的
3.由{ }包围的部分称为函数体,调用一个函数,实际上就是执行函数体中的代码。
4.return value表示函数的返回值,其中 return 是 Shell 关键字,专门用在函数中返回一个值;这一部分可写也可不写。
5.在定义函数的时候,必须要在执行程序前面定义或加载
(即必须在调用函数地方之前,定义好函数)
7.在执行函数时(调用函数),函数前面的function和函数后面的小括号都不写,直接写函数名就可以.
向函数传递参数
第一种
函数可以使用位置参数变量来表示要传递给函数的参数。
函数名在变量 $0 中定义, 函数命令行的其他参数使用变量 $1、$2…, $#可以用来确定传递给函数的参数数目。
#vim ggh.sh
执行脚本测试:
#sh ggh.sh
第二种
函数无法从脚本命令行(shell提示符中)直接访问脚本参数值。如果想在函数中使用这些值,那么必须在调用该函数时手动传递这些数据。
#vim ggh1.sh
运行脚本
#sh ggh1.sh
跳出循环
在我们使用循环语句进行循环的过程中,有时候需要在未达到循环结束条件时强制跳出循环,那么Shell给我们提供了两个命令来实现该功能:break和continue
注:exit:退出当前整个脚本的
Break
结束并跳出当前循环,在for、while等循环语句中,用于跳出当前所在的循环体,执行循环体之后的语句,后面如果什么也不加,表示跳出当前循环等价于break 1,也可以在后面加数字,假设break 3表示跳出三层循环
#vim kkh.sh
运行脚本
#sh kkh.sh
Continue
忽略本次循环剩余的代码,直接进行下一次循环;在for、while等循环语句中,用于跳出当次循环,直接进入下一次循环。
#vim kkh1.sh
运行脚本
#sh kkh1.sh