简单函数
#!/bin/bash fun1() { echo "This is my first fun!" } fun1
带 return 的函数
#!/bin/bash fun1() { a=1 b=2 c=`expr $a + $b` return $c } fun1 echo $?
注意:
1. 如果不加return,将以最后一条命令运行结果,作为返回值。
2. 函数返回值在调用该函数后通过 $? 来获得。
函数参数
在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...
带参数的函数示例:
#!/bin/bash funWithParam(){ echo "第一个参数为 $1 !" echo "第二个参数为 $2 !" echo "第十个参数为 ${10} !" echo "参数总数有 $# 个!" echo "作为一个字符串输出所有参数 $* !" } funWithParam 1 2 3 4 5 6 7 8 9 34 73
注意,$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。
另外,还有几个特殊字符用来处理参数:
参考资料
https://www.runoob.com/linux/linux-shell-func.html