shell中也可以使用函数,相对于C语言有以下几点不同
1、没有形参,只有一个空括号。
2、在函数中通过$1或$2这样的思形式接收参数。
3、没有返回值类型,但可以用return返回数值,执行函数后,可用内部变量?来获取返回值,且返回值只能为整数
4、调用函数时,无需加括号,只需将相应参数用空格隔开。
代码举例
#! /bin/bash
function func1()
{
local a=6
echo "in function1 a = $a"
}
func1
function func2()
{
b=$1
c=$2
#这里应用反单引号,且乘法符号前加“\”
d=`expr $1 \* $2`
echo "a = $a"
return $d
}
func2 10 11
echo “func2 result : $?”
程序执行结果
feiyue@ubuntu:~$ ./learn_shell.sh
in function1 a = 6
func2 result : 110