24. 函数
本章目录
和其它“真正”的编程语言一样,Bash也有函数,尽管它在实现方面有一些限制。一个函数就是一个子程序,实现一系列操作的代码块,执行一个特定任务的“黑盒子”。有重复代码的地方,当一个过程只需要轻微修改任务就会重复执行的时候,那么你就需要考虑使用函数了。
function function_name {
command...
}或者
function_name () {
command...
}第二种形式可能会更受C程序员的喜爱(并且它更具有可移植性)。 在C语言里面,函数的圆括号可以出现在第二行。
function_name () {
command...
}
一个函数可能被“压缩”到一个单独行里。
fun () { echo "This is a function"; echo; }
# ^ ^然而,在这种情况下,函数里的最后一个命令必须跟有一个分号。
只需要引用函数名字就可以调用或者触发函数。一个函数调用相当于一个命令。
例子 24-1. 简单的函数
函数定义必须在第一次函数调用之前。没有声明函数的方法,比如像C语言中一样。
函数不能为空!
甚至,把一个函数嵌套在另外一个函数里也是可行的,尽管这并没有什么用。
函数定义可能出现在不太可能出现的地方,甚至出现在本应该是命令出现的地方。
函数名字可以呈现各种奇怪的形式。
也可以参见 Example A-56
小提示:当一个函数的不同版本出现在一个脚本中,会发生什么事情呢?
Last updated
Was this helpful?