北大青岛_深圳嘉华_shell特殊变量演示(六)总结

shell特殊扩展变量

注意的是每个表达式内的冒号都是可选的,如果省略了表达式中的冒号,以为这每个定义中的‘为空或未赋值’部分改为‘未赋值’

shell特殊扩展变量演示

${正式变量:-备用变量}:- 的作用如果变量值为空或未赋值,这回返回字符串替代变量的值,如果变量未定义,则返回备用的值,防止变量为空值或因未定义导致异常!

[root@6 tmp]# echo $test    #test这个变量并未设置,所以输出的结果为空。

[root@6 tmp]# result=${test:-unset}    #定义一个result的变量名,其中test没有值,则返回unset

[root@6 tmp]# echo $result    #打印result的变量,因为test没有被赋值,所有返回unset

unset

${正式变量:=备用变量} :=的定义:如果正式变量值为空或未赋值,则设置这个变量未替补,并返回其值,位置变量和特殊变量不适用。

作用:基本同一个变量${正式变量:=备用变量},但该变量又额外给了正式变量赋值。(就是替补变量变成正式变量)

如图所示:

[root@6 tmp]# unset result   #取消result的变量的定义

[root@6 tmp]# result=${test:=beiyong}  

[root@6 tmp]# echo $test

beiyong

因为test的正式变量是空没有赋值的,所以用:-代表备用的参数直接顶替!

当变量result值里的变量没有被定义时,会给变量result赋值:=后面的内容,同时会把:=后面的内容赋值给变量result值里面没有定义的变量!

这个变量的功能可以解决变量没有定义的问题,并确保没哟㐉的变量始终有值!

 

${正式变量:?备用变量} 作用:如果正式变量值为空或未赋值,那么备用字符串将被作为标准输出否则输出变量的值!(了解)

${正式变量:+备用变量} 作用:如果正式变量未空或未赋值,则什么都不做,否则备用的字符串将替代正式变量的值。(了解)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

深海天哥

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值