shell中的函数和其他语言的函数类似,也有参数和返回值。
shell中的函数声明格式如下:
function fname() {
函数体
}
举例如下:
- 1.print_hello_world函数:
#########################################################################
# File Name: print_hello_world.sh
# Author: haohao.qiang
# mail: codenutter@foxmail.com
# Created Time: 四 5/18 13:37:23 2017
#########################################################################
#!/bin/bash
function print_hello_world() { # 函数定义
echo "hello, world!"
}
print_hello_world #调用上面定义的函数
执行结果如下:
➜ ~ git:(develop) ✗ sh print_hello_world.sh
hello, world!
-
2.带参数和返回值的函数:
在shell script的函数中函数的参数和shell自带的默认变量类似,$0表示函数名,$1表示函数的第一个参数,$2表示函数的第二个参数,依此类推...
shell script函数的返回值必须为$?这个变量。
#########################################################################
# File Name: function_demo.sh
# Author: haohao.qiang
# mail: codenutter@foxmail.com
# Created Time: 四 5/18 12:55:19 2017
#########################################################################
#!/bin/bash
# 求两个数的和
function add() {
let result=$1+$2
return $result
}
# 调用函数求和,参数为30 20
add 30 20
# $? 为函数的返回值,默认函数返回值为函数体中最后一条语句的返回值
echo $?
执行结果如下:
➜ ~ git:(develop) ✗ sh function_demo.sh
50