各位看官,上一回咱们说了Linux shell编程中的函数,而且说了函数中两个重要的部分:函数调用和
函数返回值。今天咱们说一说函数中第三个重要部分:函数参数。
函数参数:就是用户传递给函数的变量,用户可以在函数中操作这些变量。看官们,还记得存储函数的
默认返回值是什么吗?“想不起来了,是什么呢?”这记性可够。。。上一回咱们才讲了。看官哟,别想
了,它就是问号变量。以后如何忘记的话,打个问号它就出来了。哈哈。。。我这么说大家能记住了吧。
我之所以提到问号变量,是因为函数的参数也是存储在特殊的变量中,常用的有n,*和#变量。其中n变量
表示函数的第n个参数,比如1和2变量分别表示函数的第一个参数和第二个参数,依此类推。而*变量表
示函数的所有参数(把所有的参数当作一个字符串)。#变量表示函数拥有的参数数量。
还和以前一样,咱们通过举例子来说明函数参数的用法。
#! /bin/bash
echo "-----------------the starting line of shell-----------------"
func()
{
if [ $# -ne 0 ]
then
echo "the count of parameter is:$#"
if [ $# -eq 1 ]
then
echo "the first parameter is:$1"
elif [ $# -eq 2 ]
then
echo "the first parameter is:$1"
echo "the second parameter is:$2"
else
echo "all the parameters are $*"
fi
else
echo "the count of parameter is 0"
fi
}
echo "call func as: func"
func
echo "call func as: func 3"
func 3
echo "call func as: func 3 6"
func 3 6
echo "call func as: func 3 6 9"
func 3 6 9
echo "-----------------the ending line of shell-----------------"
新建立一个名叫t1.sh的脚本文件,把上面的内容输入到文件中,保存后,给文件加上执行权限,然后在
终端中运行该文件,并用依据程序提示输入内容得到以下结果:
-----------------the starting line of shell-----------------
call func as: func
the count of parameter is 0
call func as: func 3
the count of parameter is:1
the first parameter is:3
call func as: func 3 6
the count of parameter is:2
the first parameter is:3
the second parameter is:6
call func as: func 3 6 9
the count of parameter is:3
all the parameters are 3 6 9
-----------------the ending line of shell-----------------
各位看官,在例子中咱们使用#变量判断函数的参数数量。如果函数没有参数,那么输出:the count
of parameter is 0。这个输出在程序的运行结果中可以看到。如果函数有参数,那么把参数的变量输
出来。我们在例子中使用1,2变量分别输出的函数的第一个和第二个参数。使用#变量输出了函数的所有变
量。大家在程序的运行结果中可以看到,这里就不再列出来了。当然,大家从这个例子中也要学会如何在
调用函数的时候给函数传递参数。
各位看官,关于函数的内容,咱们都说完了,欲知后事如何,且听下回分解。