linux shell 参数扩展,shell脚本参数扩展问题

本文详细介绍了Shell脚本中参数扩展的多种用法,包括通配符扩展、语句块构造及参数扩展的具体语法,如使用默认值、指定值代替空变量,以及字符串处理等。

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

shell脚本参数扩展问题

发布时间:2011-08-25 21:08:06来源:红联作者:懒惰的人

属于大括号{}的一个用法,我先把{}的用法贴出来.

{} 大括号:

用法一:通配符扩展 eg: ls my_{finger,toe}s 这条命令相当于如下命令的组合: ls my_fingers my_toes eg: mkdir {userA,userB,userC}-{home,bin,data} 我们将得到 userA-home, userA-bin, userA-data, userB-home, userB-bin,userB-data,userC-home, userC-bin, userC-data,这几个目录

用法二:可用于语句块的构造,语句之间用回车隔开。如果你想在某些使用单个语句的地方(比如在AND或OR列表中)使用多条语句,你可以把它们括在花括号{}中来构造一个语句块。eg: { grep -v "$cdcatnum" $strack_file > $temp_file cat $temp_file > $strack_file echo cat -n file1 } (注:以上大括号中的四句命令够成了一个语句块)

用法三:参数扩展

${name:-default} 使用一个默认值(一般是空值)来代替那些空的或者没有赋值的变量name;

${name:=default}使用指定值来代替空的或者没有赋值的变量name;

${name:?message}如果变量为空或者未赋值,那么就会显示出错误信息并中止脚本的执行同时返回退出码1。

${#name} 给出name的长度

${name%word} 从name的尾部开始删除与word匹配的最小部分,然后返回剩余部分

${name%%word} 从name的尾部开始删除与word匹配的最长部分,然后返回剩余部分

${name#word} 从name的头部开始删除与word匹配的最小部分,然后返回剩余部分

${name##word} 从name的头部开始删除与word匹配的最长部分,然后返回剩余部分(注,name为变量名,word为要匹配的字符串) 用法三在处理字符串和未知变量时,是很有用的。

现在问题是不明白用法三...如果是固定用法,请高手给出参数扩展的全部用法句式(我只找到了这7个),尽快解决为谢.!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值