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}