目录
简介
函数(function)是可以重复使用的代码片段,有利于代码的复用。它与别名(alias)的区别是,别名只适合封装简单的单个命令,函数则可以封装复杂的多行命令。
函数总是在当前 Shell 执行,这是跟脚本的一个重大区别,Bash 会新建一个子 Shell 执行脚本。如果函数与脚本同名,函数会优先执行。但是,函数的优先级不如别名,即如果函数与别名同名,那么别名优先执行。
Bash 函数定义的语法有两种。
# 第一种
fn() {
# codes
}
# 第二种
function fn() {
# codes
}
上面代码中,fn
是自定义的函数名,函数代码就写在大括号之中。这两种写法是等价的。
下面是一个简单函数的例子。
hello() {
echo "Hello $1"
}
上面代码中,函数体里面的$1
表示函数调用时的第一个参数。
调用时,就直接写函数名,参数跟在函数名后面。
$ h