系统相关
首页 > 系统相关> > 15 liunx shell基础 变量测试与内容替换; x=${y-};x=${y:-}; x=${y+};x=${y:+};x=${y=};x=${y:=};x=${y?};x=${y:?}

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行示例:```bash
[userwin@MiWiFi-R3L-srv ~]$
[userwin@MiWiFi-R3L-srv ~]$ unset x
[userwin@MiWiFi-R3L-srv ~]$ unset y
[userwin@MiWiFi-R3L-srv ~]$ x= y : ? n e w V a l u e − b a s h : y : n e w V a l u e [ u s e r w i n @ M i W i F i − R 3 L − s r v   ] {y:?newValue} -bash: y: newValue [userwin@MiWiFi-R3L-srv ~] y:?newValue−bash:y:newValue[userwin@MiWiFi−R3L−srv ] y=""
[userwin@MiWiFi-R3L-srv ~]$ x= y : ? n e w V a l u e − b a s h : y : n e w V a l u e [ u s e r w i n @ M i W i F i − R 3 L − s r v   ] {y:?newValue} -bash: y: newValue [userwin@MiWiFi-R3L-srv ~] y:?newValue−bash:y:newValue[userwin@MiWiFi−R3L−srv ] y=oldvalue
[userwin@MiWiFi-R3L-srv ~]$ x= y : ? n e w V a l u e [ u s e r w i n @ M i W i F i − R 3 L − s r v   ] {y:?newValue} [userwin@MiWiFi-R3L-srv ~] y:?newValue[userwin@MiWiFi−R3L−srv ] echo $x
oldvalue



![在这里插入图片描述](https://www.icode9.com/i/ll/?i=44432daac6294bd9b61bab8f7f417c66.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARW5naW5lZXJGb3JTb3Vs,size_13,color_FFFFFF,t_70,g_se,x_16)

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

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

标签:R3L,shell,15,userwin,echo,srv,liunx,MiWiFi,newValue
来源: https://blog.csdn.net/lingyiwin/article/details/122117974