-
${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