冒号:
:在shell中是一种命令,意思是总是为真,但是却不做任何操作,即总是为真的空命令
eg:
[root@localhost ~]# ${abc:=t1}
-bash: t1: command not found
[root@localhost ~]# : ${abc:=t1}
[root@localhost ~]# echo $abc
t1
-bash: t1: command not found
[root@localhost ~]# : ${abc:=t1}
[root@localhost ~]# echo $abc
t1
[root@localhost ~]# echo $?
0
0
注释:
在第一条赋值命令中,若abc为空,则将t1赋值给abc,同时将t1作为命令来执行,但是并没有t1这个命令故报错
在第二条赋值命令中,若abc为空,则将t1赋值给abc,同时将t1作为参数传递给:空命令执行,且返回值为0