shell基础 变量测试;内容替换
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ca75c4e28bd1a926d571ddfca3234d85.png)
变量测试与内容替换
☆☆☆☆☆:很重要,工具表格,不需要记忆。需要的时候,来查询就好了。
变量置换方法 | 变量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
倘若此文对你有帮助,点赞,评论,转发。谢谢!
我醉欲眠卿且去,明朝有意抱琴来。