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

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


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

变量测试与内容替换

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

变量置换方法 变量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)

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

==我醉欲眠卿且去,明朝有意抱琴来。==
上一篇:Vue监视属性


下一篇:数组01-转换方法(字符串)