函数
概述
bash中的函数类似于C/C++中的函数,但return的返回值与C/C++不同,返回的是exit code,取值为0-255,0表示正常结束。
如果想获取函数的输出结果,可以通过echo输出到stdout中,然后通过$(function_name)来获取stdout中的结果。
函数的return值可以通过$?来获取。
命令格式
1 2 3 4 5 | |
不获取return值和stdout值
示例
1 2 3 4 5 6 | |
输出结果
1 | |
获取return值和stdout值
Note
不写return时,默认return 0。
示例
1 2 3 4 5 6 7 8 9 10 11 12 | |
输出结果
1 2 | |
函数的输入参数
在函数内,$1表示第一个输入参数,$2表示第二个输入参数,依此类推。
Note
函数内的$0仍然是文件名,而不是函数名。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
输出结果
1 | |
函数内的局部变量
可以在函数内定义局部变量,作用范围仅在当前函数内。
可以在递归函数中定义局部变量。
命令格式
1 | |
例如
1 2 3 4 5 6 7 8 9 | |
输出结果
1 | |
第一行为函数内的name变量,第二行为函数外调用name变量,会发现此时该变量不存在。