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

本文详细解析Linux shell编程中的函数参数概念,包括函数调用、返回和参数使用,通过实例展示如何通过#、*和#变量操作函数参数,并提供如何在调用函数时传递参数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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

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

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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值