作者在 2008-06-29 22:55:48 发布以下内容
开发大型的shell程序少不了函数,它能够使用程序的代码的复用程度高,开发简单化,模块化,团队合作性强等。
函数定义格式:
functionname ()
{
语句组
}
函数使用:
1、调用函数之前,必须先定义函数。
2、函数的参数的传递:functionname para1 para2 ….
3、在函数内部参数的读取:$* $@ $# $1 $2 $3 $4 $5 …
不包括 $0 ,在函数内部可以引用 $0参数。因此,在函数内部就不能引用到程序的参数。当函数执行完之后,这些值会被恢复。
4、函数的返回值:可能使用return命令返回数字值;要返回字符串值,可以字符串保存在一个全局性的变量中,该变量在函数结束后能被外界使用;如果没有使用return命令,则函数返回值是函数中最后执行的一条命令的退出状态码。
5、变量使用:函数内部声明的变量默认为全局变量,使用local关键字声明的变量为局部变量(如 local var=“var”)。如果局部变量与全局变量同名,则在函数内部局部变量覆盖全局变量。
6、返回值的获取,当执行完函数后,函数的返回值被存放在$?中,可以通过它来获取函数的返回值。
#!/bin/sh
#This is a example for testing the return value of function
fun()
{
return 10
}
fun
echo $?
exit 0