关于shell变量的测试与内容替换

参考资料《鸟哥的私房菜——Linux基础学习篇(第三版)》。

在《鸟哥的私房菜——Linux基础学习篇(第三版)》第11章中,鸟哥关于变量的测试与内容替换中,鸟哥最后用范例说明了变量替换中'-'、'='、'?'三种特殊符号的用法。

看完这些例程,给我最大的感受就是var=${str-newvar}或者var=${str=newvar}或者var=${str?newvar}的变量替换就与C语言中唯一的三目运算符?的用法类似:

Max=(x>y)?(x:y)。此处我们分析如下:

var=${str-newvar}:如果str不存在,则var=newvar;  //选择后者

    如果str存在,则var=${str};  //选择前者

同理“=”也可类似解释:

var=${str=newvar}:如果str不存在,则var=newvar;  //选择后者 但由于是等于号,所以str=newvar;

     如果str存在,则var=${str};  //选择前者 str保持原有内容


对于“?”的解释为“

var=${str?无此变量}:如果str不存在,则输出错误提示:无此变量;  //选择后者

        如果str存在,则var=${str};  //选择前者 str保持原有内容




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值