天天看点

扩展变量——测试存在性及空值

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}