linux中的SHELL函数是可以带参数的.
====代码===
#!/bin/bash
function show()
{
echo $0 #返回脚本本身名字而不是函数名
echo $1 #返回调用时的第一个参数
.
.
.
echo $9 #返回调用时的第九个参数
}
echo "Begin" #程序开始
show #不带参数的调用返回shell本身的名字
show local #带参数调用.返函数本身的名字加参数local
####end#####
需要注意的是:
向函数传递参数就像在一般脚本中使用特殊变量$1,$2一样...函数取得所传参数后,将原始参数传回shell脚本,因此最好先在函数内重新设置变量保存所传的参数.这样如果函数有一点错误,就可以通过已经本地化的变量名迅速加以跟踪.
还有变量的作用域:
函数内部变量作用域只是在函数内部
而主SHELL变量的作用域在整个shell中...包括其函数
还有局部变量声明方式:
local valuename=value
此声明格式的变量只能在变量声明部分使用....
顺便推荐一个学习的BOLG:http://xiaowang.net/