6.3在函数中使用变量
在函数中使用变量,应当多注意如何定义和处理这些变量。
6.3.1向函数传递参数
函数可以使用标准参数环境变量来表示命令行传递给函数的参数。例如,函数名在变量$0中定义,函数命令行的其他参数使用变量$1和$2等定义。专用变量$#可以用来确定传递给函数的参数数目。在脚本中指定函数时,必须在函数所在命令行提供参数值。
该函数才可以使用参数环境变量获取参数值。操作实例如下所示:
#!/bin/bash
#给函数传递参数
#对只有一个参数和两个参数的求和
function addem {
if [ $# -eq 0 ] || [ $# -gt 2 ]
then
echo -1
elif [ $# -eq 1 ]
then
echo $[ $1 + $1 ]
else
echo $[ $1 + $2 ]
fi
}
echo -n "Adding 10 and 15:"
value=`addem 10 15`
echo $value
echo -n "Let's try add just one number:"
value=`addem 10`
echo $value
echo -n "Now trying adding no numbers:"
value=`addem abc`
echo