15 liunx shell基础 变量测试与内容替换; x=${y-};x=${y:-}; x=${y+};x=${y:+};x=${y=};x=${y:=};x=${y?};x=${y:?}

shell基础 变量测试;内容替换


在这里插入图片描述

变量测试与内容替换

☆☆☆☆☆:很重要,工具表格,不需要记忆。需要的时候,来查询就好了。

变量置换方法变量y没有设置变量y为空值变量y设置值
x=${y-新值}x=新值x为空x=$y
x=${y:-新值}x=新值x=新值x=$y
x=${y+新值}x为空x=新值x=新值
x=${y:+新值}x为空x为空x=新值
x=${y=新值}x=新值;y=新值x为空;y值不变x=$y;y值不变
x=${y:=新值}x=新值;y=新值x=新值;y=新值x=$y;y值不变
x=${y?新值}新值 输出到显示器上x为空x=$y
x=${y:?新值}新值 输出到显示器上新值 输出到显示器上x=$y

在这里插入图片描述

第1行示例:

[userwin@MiWiFi-R3L-srv ~]$ unset x
[userwin@MiWiFi-R3L-srv ~]$ unset y
[userwin@MiWiFi-R3L-srv ~]$ x=${y-newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
newValue

[userwin@MiWiFi-R3L-srv ~]$ y=""
[userwin@MiWiFi-R3L-srv ~]$ x=${y-newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x  # 输出"" 空

[userwin@MiWiFi-R3L-srv ~]$ 
[userwin@MiWiFi-R3L-srv ~]$ y=oldValue
[userwin@MiWiFi-R3L-srv ~]$ x=${y-newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
oldValue

第2行示例:

[userwin@MiWiFi-R3L-srv ~]$ unset x
[userwin@MiWiFi-R3L-srv ~]$ unset y
[userwin@MiWiFi-R3L-srv ~]$ x=${y:-newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
newValue
[userwin@MiWiFi-R3L-srv ~]$ y=""
[userwin@MiWiFi-R3L-srv ~]$ x=${y:-newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
newValue
[userwin@MiWiFi-R3L-srv ~]$ y=oldValue
[userwin@MiWiFi-R3L-srv ~]$ x=${y:-newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
oldValue

第3行示例:

[userwin@MiWiFi-R3L-srv ~]$ unset x
[userwin@MiWiFi-R3L-srv ~]$ unset y
[userwin@MiWiFi-R3L-srv ~]$ x=${y+newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x

[userwin@MiWiFi-R3L-srv ~]$ y=""
[userwin@MiWiFi-R3L-srv ~]$ x=${y+newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
newValue
[userwin@MiWiFi-R3L-srv ~]$ y=oldValue
[userwin@MiWiFi-R3L-srv ~]$ x=${y+newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
newValue

第4行示例:

[userwin@MiWiFi-R3L-srv ~]$ unset x
[userwin@MiWiFi-R3L-srv ~]$ unset y
[userwin@MiWiFi-R3L-srv ~]$ x=${y:+newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x

[userwin@MiWiFi-R3L-srv ~]$ y=""
[userwin@MiWiFi-R3L-srv ~]$ x=${y:+newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x

[userwin@MiWiFi-R3L-srv ~]$ y=oldValue
[userwin@MiWiFi-R3L-srv ~]$ x=${y:+newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
newValue

第5行示例:

[userwin@MiWiFi-R3L-srv ~]$ unset x
[userwin@MiWiFi-R3L-srv ~]$ unset y
[userwin@MiWiFi-R3L-srv ~]$ x=${y=newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
newValue
[userwin@MiWiFi-R3L-srv ~]$ echo $y
newValue
[userwin@MiWiFi-R3L-srv ~]$ y=""
[userwin@MiWiFi-R3L-srv ~]$ x=${y=newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x

[userwin@MiWiFi-R3L-srv ~]$ echo $y

[userwin@MiWiFi-R3L-srv ~]$ y=oldValue
[userwin@MiWiFi-R3L-srv ~]$ x=${y=newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
oldValue
[userwin@MiWiFi-R3L-srv ~]$ echo $y
oldValue

第6行示例:

[userwin@MiWiFi-R3L-srv ~]$ 
[userwin@MiWiFi-R3L-srv ~]$ unset x
[userwin@MiWiFi-R3L-srv ~]$ unset y
[userwin@MiWiFi-R3L-srv ~]$ x=${y:=newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
newValue
[userwin@MiWiFi-R3L-srv ~]$ echo $y
newValue
[userwin@MiWiFi-R3L-srv ~]$ y=""
[userwin@MiWiFi-R3L-srv ~]$ x=${y:=newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
newValue
[userwin@MiWiFi-R3L-srv ~]$ echo $y
newValue
[userwin@MiWiFi-R3L-srv ~]$ y=oldValue
[userwin@MiWiFi-R3L-srv ~]$ x=${y:=newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
oldValue
[userwin@MiWiFi-R3L-srv ~]$ echo $y
oldValue

第7行示例:

[userwin@MiWiFi-R3L-srv ~]$ unset x
[userwin@MiWiFi-R3L-srv ~]$ unset y
[userwin@MiWiFi-R3L-srv ~]$ x=${y?newValue}
-bash: y: newValue
[userwin@MiWiFi-R3L-srv ~]$ y=""
[userwin@MiWiFi-R3L-srv ~]$ x=${y?newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x

[userwin@MiWiFi-R3L-srv ~]$ y=oldValue
[userwin@MiWiFi-R3L-srv ~]$ x=${y?newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
oldValue

第8行示例:

[userwin@MiWiFi-R3L-srv ~]$ 
[userwin@MiWiFi-R3L-srv ~]$ unset x
[userwin@MiWiFi-R3L-srv ~]$ unset y
[userwin@MiWiFi-R3L-srv ~]$ x=${y:?newValue}
-bash: y: newValue
[userwin@MiWiFi-R3L-srv ~]$ y=""
[userwin@MiWiFi-R3L-srv ~]$ x=${y:?newValue}
-bash: y: newValue
[userwin@MiWiFi-R3L-srv ~]$ y=oldvalue
[userwin@MiWiFi-R3L-srv ~]$ x=${y:?newValue}
[userwin@MiWiFi-R3L-srv ~]$ echo $x
oldvalue

在这里插入图片描述


倘若此文对你有帮助,点赞,评论,转发。谢谢!

我醉欲眠卿且去,明朝有意抱琴来。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

EngineerForSoul

你的鼓励是我孜孜不倦的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值