${varname:=word}
如果 varname 存在且不是 null,则返回它的值;否则,设置它为 word,并返回其值
用途: 如果变量未定义,则返回默认值。
${varname:word}
如果 varname 存在且不是 null,则返回它的值;否则,设置它为 word,并返回其值。
用途: 如果变量未定义,则设置变量为默认值。
${varname:?message}
如果 varname 存在且非 null,则返回它的值;否则,显示 varname:message,并退出当前的命令或脚本。省略 message 会出现默认信息 parameter null or not set。注意,在交互式 shell 下不需要退出 (在不同的 shell 间会有不同的行为,用户需自行注意)。
用途: 为了捕捉由于变量未定义所导致的错误。
${varname:+word}
如果 varname 存在且非 null,则返回 word;否则,返回 null。
用途: 未测试变量的存在。