2013年3月21日 星期四 晴
扩展变量——测试存在性及空值
一、加冒号操作
1、:-
[root@desktop7 ~]# a=12
[root@desktop7 ~]# echo ${a:-hello}
12
2、:=
[root@desktop7 ~]# echo ${a:=hello}
3、:?
[root@desktop7 ~]# echo ${a:?hello}
4、:+
[root@desktop7 ~]# echo ${a:+hello}
hello
二、分别验证
1、存在且非null,则返回其值,否则返回word
[root@desktop7 ~]# echo ${abc:-hello}
[root@desktop7 ~]# echo $abc
无显示
2、存在且非null,则返回其值,否则设置为word
[root@desktop7 ~]# echo ${abc:=hello}
3、存在且非null,则返回其值,否则显示varname:word
[root@desktop7 ~]# echo ${tt:?nihao}
bash: tt: nihao
[root@desktop7 ~]# echo $tt
[root@desktop7 ~]#
4、存在且非null,则返回其值,否则显示null
[root@desktop7 ~]# echo ${tt:+nihao}
三、无冒号操作
1、存在,则返回其值,否则返回word
[root@desktop7 ~]# echo ${qq-mornig}
mornig
[root@desktop7 ~]# echo $qq
2、存在,则返回其值,否则设置为word
[root@desktop7 ~]# echo ${qq=mornig}
3、存在,则返回其值,否则显示varname:word
[root@desktop7 ~]# echo ${dd?mornig}
bash: dd: mornig
[root@desktop7 ~]# echo $dd
4、存在,则返回其值,否则显示null
[root@desktop7 ~]# echo ${dd+mornig}