《Shell脚本学习指南》学习笔记之自定义函数
Shell的函数在使用之前必须先定义,定义格式:
[ function ] funname [()]
{
    action;
    [return int;]
}
- 可以带function fun()定义,也可以直接fun() 定义,不带任何参数。
 - 参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)
 
示例
fsum 2 5
fsum(){
	echo $1,$2
	return $1+$2
}
sum=$(fsum 2 5)
echo $?
echo "sum=$sum"
执行输出:
fsum: not found
7
sum=2,5
从上面这个例子我们可以得到几点结论:
- 必须在调用函数地方之前,声明函数,shell脚本是逐行运行,这点和编译型语言不通。
 - 函数返回值,只能通过$? 系统变量获得,而“sum=$(fsum 2 5)”这种方式,是将标准输出传递给主程序的变量,而不是返回值!
 
Shell函数可以在脚本文件中使用之前定义它,也可以把函数定义在一个独立的文件使用点号(.)命令来引用它。如function.sh和testshell.sh在同一目录中,function.sh
fsum(){
	echo $1,$2
	return $(($1+$2))
}
testshell.sh
#! /bin/sh . ./function.sh fsum 2 5
 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 

                
            
        
浙公网安备 33010602011771号