Linux教程

|NO.Z.00054|——————————|LinuxShell|——|Linux&Shell$变量.V11|--------------------------------------------

本文主要是介绍|NO.Z.00054|——————————|LinuxShell|——|Linux&Shell$变量.V11|--------------------------------------------,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


[LinuxNetworkEnd:Linux&Shell$变量.V11]                                                     [Applications.LinuxNetworkEnd][|Linux|shell编程|shell基础|变量测试|]








一、例子一:
### --- 例子一:
~~~     删除变量 y
[root@localhost ~]# unset y
 
~~~     进行测试
[root@localhost ~]# x=${y-new}

~~~     因为变量 y 不存在,所以 x=new
[root@localhost ~]# echo $x
new
 
~~~     但是变量 y 还是不存在的和表 11-12 对比下,这个表是不是可以看懂了。
~~~     这是变量 y 不存在的情况,那如果变量 y 的值是空呢?
[root@localhost ~]# echo $y
~~~     给变量 y 赋值为空
[root@localhost ~]# y=""
 
~~~     # 进行测试
[root@localhost ~]# x=${y-new}
~~~     变量 x 和变量 y 值都是空
~~~     那如果变量 y 有值呢?
[root@localhost ~]# echo $x
[root@localhost ~]# echo $y

~~~     给变量 y 赋值
[root@localhost ~]# y=old
~~~     # 进行测试
~~~     变量 x 和变量 y 的值都是 old

[root@localhost ~]# x=${y-new}
[root@localhost ~]# echo $x
old
[root@localhost ~]# echo $y
old

二、 例子2

### ---  例子2
~~~     那如果大括号内是“=”号,又该是什么情况呢?先测试下变量 y 没有设置的情况:
~~~     删除变量 y
[root@localhost ~]# unset y
 
~~~     # 进行测试
[root@localhost ~]# x=${y:=new}

~~~     变量 x 和变量 y 的值都是 new
~~~     一旦使用“=”号,那么变量 y 和变量 x 都会同时进行处理,
~~~     而不像例子 1 中只改变变量 x 的值。
~~~     那如果变量 y 为空又是什么情况呢?

[root@localhost ~]# echo $x
new
[root@localhost ~]# echo $y
new

~~~     设定变量 y 为空
[root@localhost ~]# y=""
 
~~~     # 进程测试
[root@localhost ~]# x=${y:=new}

### --- 变量 x 和变量 y 的值都是 new
~~~     一旦在大括号中使用“:”,那么变量 y 为空或者不设定,处理方式都是一样的了。
~~~     那如果 y 已经赋值了,又是什么情况:

[root@localhost ~]# echo $x
new
[root@localhost ~]# echo $y
new

~~~     给 y 赋值
[root@localhost ~]# y=old
 
~~~     # 进行测试
[root@localhost ~]# x=${y:=new}
~~~     原来变量 x 和变量 y 的值都是 

[root@localhost ~]# echo $x
old
[root@localhost ~]# echo $y
old

三、例子 3:

### --- 例子三:
~~~     # 再测试下大括号中是“?”的情况吧:
~~~     删除变量 y

[root@localhost ~]# unset y
~~~     会把值“new”输出到屏幕上
~~~     那如果变量 y 已经赋值了呢:

[root@localhost ~]# x=${y?new}
-bash: y: new
~~~     给变量 y 赋值
[root@localhost ~]# y=old
 
~~~     # 进行测试
[root@localhost ~]# x=${y?new}
~~~     变量 x 和变量 y 的值都是 old

[root@localhost ~]# echo $x
old
[root@localhost ~]# echo $y
old









===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                   ——W.S.Landor



来自为知笔记(Wiz)

这篇关于|NO.Z.00054|——————————|LinuxShell|——|Linux&Shell$变量.V11|--------------------------------------------的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!