函数
Bash调用函数不会开启新的子shell,会在现有的shell环境中执行该函数。
函数的语法形式:
调用:函数名 参数1 参数2 ....
FUNCNAME变量,值的内容是函数名
取消函数定义:unset -f 函数名
return指令 $?传回值
作用范围:函数仅在定义的shell环境中有效,如果要传递函数给子shell环境使用,可使用内置命令export和-f选项:export -f 函数名
如果没有特别设定变量的属性,那么在script中自定义的变量称为全局变量,作用范围在整个script文件中
内置命令local,设定变量属性为私有
主程序中,尽量不要用传入函数的全局变量的值来控制函数执行后的程序流程
位置参数
含义
移动位置参数:shift n
指定位置参数:set命令
例子
运用位置参数传递参数值给函数时,原有的位置参数会被保存,其内含值不会受到影响
取用命令行的选项和参数:
getopts 选项行 选项变量
选项行由各选项的单一字符组成,getopts由命令行取得选项,把它放入选项变量中,如果该选项需要额外的参数,参数值会放入OPTARG变量中
例子
建立函数库
递归函数
例子
结果