Linux Shell脚本攻略(1.12)

本文介绍了Bash脚本中的函数定义与参数传递方法,包括基本的函数定义、递归函数使用、命令返回值的读取及不同参数传递格式。通过实例展示了如何在Bash中创建和使用函数。

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

1.12 函数和参数

  • 和其他脚本语言一样,Bash同样支持函数,并且可以传递参数。
1.12.1 函数定义和传参
#!/bin/bash
function fname()       #也可以用fname()代替
{
    echo $1,$2;        #访问参数1和参数2
    echo "$@";         #以列表的方式一次性打印所有参数
    echo "$*";         #类似于$@,但是参数被作为单个实体
    return 0;          #返回值
}
fname $1 $2            #执行函数并传递参数
  • $1是第一个参数;$2是第二个参数;$n是第n个参数;$@被扩展成“$1”“$2”“$3”;$*被扩展成“ 1c 2c$3”,其中c是IFS的第一个字符。
1.12.2 递归函数
  • 在Bash中,函数同样支持递归函数.
F()
{
    echo $1;
    F hello;
    sleep 1;
}
1.12.3 读取命令返回值
  • 返回值被称为推出状态,它可以用于分析命令执行成功与否。如果命令成功退出,那么退出状态为0,否则为非0.
#!/bin/bash
CMD="echo test"   #CMD为要执行的命令
$CMD              #执行命令
if [ $? -eq 0 ]   #$?为退出状态
then
    echo "$CMD executed successfully"
else
    echo "$CMD executed unsuccessfully"
fi
1.12.4 向命令传递参数
  • Bash中的命令通常都有多个参数,命令的参数能够以不同的格式进行传递。假设-p,-v是可用选项,-k N是另一个可以接受的参数,同时还可以接受一个文件名作为参数,那么一下几种方式是等价的:
command -p -v -k 1 file
command -pv -k 1 file
command -vpk 1 file
command -file -pvk 1     #k N应该紧邻
1.12.5 参考
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值