shell(7)函数
Shell 函数介绍
在 shell 脚本中,函数是一段可重用的代码块,用于封装特定的功能。使用函数可以提高代码的可读性、模块化和维护性。shell 函数类似于其他编程语言中的函数,可以接收参数、执行操作并返回结果。
定义方式
带
function
关键字:1
2
3
4
5
6function 函数名() {
# 函数体
# 返回值
[ return int ]
}不带
function
关键字:1
2
3
4
5
6
7函数名() {
# 函数体
# 返回值
[ return int ] //退出函数
exit int //退出脚本
}
加载函数
函数文件在一个文件夹下,可以通过source xxx.sh / . xxx.sh。然后同步函数名字调用函数。
特点
- 参数传递:通过
$1
,$2
, … 访问传入的参数,$#
表示参数个数,$@
或$*
表示所有参数。 - 返回值:可以用
return
返回状态码(0 表示成功,非 0 表示失败),或通过echo
输出结果。($? 获取函数返回值) - 作用域:默认变量是全局的,使用
local
关键字可以定义局部变量。 - 调用:直接使用函数名调用,不需要额外的语法。
示例
这里是一个简单的 shell 函数示例:
1 |
|
运行结果:Hello, World!
关键点
- 参数:函数可以通过
$1
,$2
, … 来访问传入的参数,$1
是第一个参数,$2
是第二个,以此类推。 - 返回值:可以用
return
返回一个退出状态码(0-255),或者通过echo
输出结果并用变量捕获。 - 调用:直接写函数名即可调用,比如
greet
。
更复杂的例子
1 |
|
运行结果:Sum is: 8
使用场景
- 代码复用:避免重复编写相同的逻辑。
- 模块化:将复杂脚本拆分为多个小函数,便于调试和维护。
- 参数化操作:通过参数动态处理不同的输入。