Linux Shell 可以用户定义函数,然后在shell脚本中可以随便调用。
函数定义
Shell 中的函数定义与 JavaScript 类似,格式如下:
function hello()
{
echo "Hello SHell.";
return 1;
}
echo "method begin..."
hello
echo "method end..."
输出结果:
method begin...
Hello SHell.
method end...
上面定义了一个名为 hello 的函数,并返回了一个整数。
在 Shell 中,参数返回可以显示加 return 返回。如果不加,将以最后一条命令运行结果,作为返回值。返回值只能正整数,并且范围在 0 - 255。
函数参数
在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...
带参数的函数示例:
funWithParam(){
echo "第一个参数为 $1 !"
echo "第二个参数为 $2 !"
echo "第十个参数为 $10 !"
echo "第十个参数为 ${10} !"
echo "第十一个参数为 ${11} !"
echo "参数总数有 $# 个!"
echo "作为一个字符串输出所有参数 $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73
输出结果:
第一个参数为 1 !
第二个参数为 2 !
第十个参数为 10 !
第十个参数为 34 !
第十一个参数为 73 !
参数总数有 11 个!
作为一个字符串输出所有参数 1 2 3 4 5 6 7 8 9 34 73 !
注意,$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。
另外,还有几个特殊字符用来处理参数:
[image:B92B80B9-81E1-4760-8153-0FEDD6F34A32-315-000099F2DAFA9951/E57EB315-DFE4-4D10-AF30-E42268F31FEA.png]