函数

在脚本中,我们可以定义并调用函数。跟其它程序设计语言类似,函数是一个代码块,但有所不同。

bash中,函数是一个命令序列,这个命令序列组织在某个名字下面,即 函数名 。调用函数跟其它语言一样,写下函数名字,函数就会被 调用 。

我们可以这样声明函数:

1. my_func () {
2. # 语句
3. }

5. my_func # 调用 my_func

我们必须在调用前声明函数。

函数可以接收参数并返回结果 —— 返回值。参数,在函数内部,跟非交互式下的脚本参数处理方式相同 —— 使用位置参数。返回值可以使用return命令 返回 。

下面这个函数接收一个名字参数,返回0,表示成功执行。

1. # 带参数的函数
2. greeting () {
3. if [[ -n $1 ]]; then
4. echo "Hello, $1!"
5. else
6. echo "Hello, unknown!"
7. fi
8. return 0
9. }

11. greeting Denys  # Hello, Denys!
12. greeting        # Hello, unknown!

我们之前已经介绍过返回值。不带任何参数的return会返回最后一个执行的命令的返回值。上面的例子,return 0会返回一个成功表示执行的值,0。