运算符
替换
${varname:=word}
如果 varname 存在且不是 null,则返回它的值;否则,设置它为 word,并返回其值
用途: 如果变量未定义,则返回默认值。
范例: 如果 count 未定义,则 echo ${count:-0} 的值为 0
${varname:word}
如果 varname 存在且不是 null,则返回它的值;否则,设置它为 word,并返回其值。
用途: 如果变量未定义,则设置变量为默认值。
范例: 如果 count 未定义,echo${count:=0} 输出为 0
${varname:?message}
如果 varname 存在且非 null,则返回它的值;否则,显示 varname:message,并退出当前的命令或脚本。省略 message 会出现默认信息 parameter null or not set。注意,在交互式 shell 下不需要退出 (在不同的 shell 间会有不同的行为,用户需自行注意)。
用途: 为了捕捉由于变量未定义所导致的错误。
范例:${count:?"undefined"} 将显示:count:undefined!,且如果 count 未定义,则退出
${varname:+word}
如果 varname 存在且非 null,则返回 word;否则,返回 null。
用途: 未测试变量的存在。
如果: 如果 count 已定义,则 ${count:+1} 返回1(也就是真)
该表中每个运算符内的冒号 (:) 都是可选的。如果省略冒号,则将每个定义的“存在且非 null” 部分改为“存在”,也就是说,运算符仅用于测试变量是否存在。
阅读(1324) | 评论(0) | 转发(0) |