Linux程序设计(Linux shell编程九)


各位看官,上一回咱们说了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变量分别输出的函数的第一个和第二个参数。使用#变量输出了函数的所有变

量。大家在程序的运行结果中可以看到,这里就不再列出来了。当然,大家从这个例子中也要学会如何在

调用函数的时候给函数传递参数。


各位看官,关于函数的内容,咱们都说完了,欲知后事如何,且听下回分解。

你可能感兴趣的:(Linux程序设计)