函数定义
语法
[function] 函数名(){ #function可有可无函数执行体[return *] #返回值可有可无,如果没有return语句,则将最后一句执行体作为结果返回}
示例
function showCode(){ #定义一个函数showCode
echo "No BB"
}
函数调用
无返回值
#!/bin/bash
function showCode(){ #定义一个函数showCode
echo "No BB"
}
echo "我准备调用函数showCode了...."
showCode
echo "我调用showCode完成"
#输出
我准备调用函数showCode了....
No BB
我调用showCode完成
有返回值
#!/bin/bash
function showCode(){ #定义一个函数showCode
echo "No BB"
return 0
}
echo "我准备调用函数showCode了...."
showCode
echo "我要输出showCode的返回值:$?"
echo "我调用showCode完成"
#输出
我准备调用函数showCode了....
No BB
我要输出showCode的返回值:0
我调用showCode完成
函数传参
shell函数允许传参,函数内部以$n的形式获取参数值,其中n为参数序号,如$1代表第一个参数
语法
函数名 参数1 参数2 参数3 。。。参数n
示例
#!/bin/bash
function showCode(){ #定义一个函数showCode
echo "第一个参数:$1"
}
echo "我准备调用函数showCode了...."
showCode "哈哈哈"
echo "我调用showCode完成"
#输出
我准备调用函数showCode了....
哈哈哈
我调用showCode完成
shell中还有一些比较特殊的变量用于处理函数,如:
- $# 可获取参数长度
- $* 可获取所有参数组成的字符串
- $? 可获取函数最后执行的结果,也就是返回值
