函数
创建函数#
或者
函数返回值#
返回值有多种形式。
使用 $?#
表示函数最后一条命令的退出状态码。
使用 return#
本质是退出状态码,范围 [0, 255],超出会对 256 取模。
使用标准输出#
result
会保存函数中所有的标准输出。
函数传参#
函数里面的 $#
、$1
和外层的参数相互独立。
变量的作用域#
函数外定义#
哪里都能访问。
函数内定义#
使用 local#
local
变量只在函数内部生效,和外部重名变量相互独立。
变量是否被定义#
可以使用参数展开的 + 标记。
函数是否被定义#
后面定义的同名函数会覆盖前面定义同名函数的,所以在定义函数之前,可以先判断一下。
例如把函数写在 .bashrc 文件。
函数已定义,退出码为 0,未定义,退出码为 1。