-
${parameter?err_msg}, ${parameter:?err_msg}
如果变量已被设置,那么使用原值,否则输出 err_msg 并且终止脚本,返回错误码。两种形式的作用几乎相同,唯一不同的情况与上面类似,就是当变量 parameter 已
经被声明但值为空时。
#!/bin/bash -e
var1=1 var2=2 var3= echo ${var1?$var2} #1 echo ${var1:?$var2} #1 echo ${var3?$var2} # echo ${var3:?$var2} # echo ${var4?$var2} # echo ${var4:?$var2} # 结果1
1 ./questionmark.sh: 行 9: var3: 2