变量:-word 如果变量为空则返回word子串 ,非空返回变量本身
zxh@zxh-virtual-machine:~$ echo $name
zxh@zxh-virtual-machine:~$ # ${变量:-word}如果变量值为空返回word子串,非空返回变量
zxh@zxh-virtual-machine:~$ echo ${name:-zxh}
zxh
zxh@zxh-virtual-machine:~$ echo $name
zxh@zxh-virtual-machine:~$ name=xiaohui
zxh@zxh-virtual-machine:~$ echo ${name:-zxh}
xiaohui
zxh@zxh-virtual-machine:~$
变量:=word 如果变量为空,用word子串替换变量,非空则返回变量的本身值
zxh@zxh-virtual-machine:~$ echo $name
zxh@zxh-virtual-machine:~$ echo ${name:=zxh}
zxh
zxh@zxh-virtual-machine:~$ name=xiaohui
zxh@zxh-virtual-machine:~$ echo ${name:=zxh}
xiaohui
zxh@zxh-virtual-machine:~$
变量:+word 如果变量为空 则返回空,变量非空,返回word子串。
zxh@zxh-virtual-machine:~$ echo $name
zxh@zxh-virtual-machine:~$ echo ${name:+zxh}
zxh@zxh-virtual-machine:~$ name=xiaohui
zxh@zxh-virtual-machine:~$ echo ${name:+zxh}
zxh
zxh@zxh-virtual-machine:~$
变量:?errorinfo 如果变量为空则返回errorinfo ,非空则返回变量本身。
zxh@zxh-virtual-machine:~$ echo $name
zxh@zxh-virtual-machine:~$ echo ${name:?null}
bash: name: null
zxh@zxh-virtual-machine:~$ name=xiaohui
zxh@zxh-virtual-machine:~$ echo ${name:?null}
xiaohui
zxh@zxh-virtual-machine:~$