在Bash中,我应该如何编写表示:
的布尔条件给定环境变量$ A,$ B和$ C的列表,仅当所有环境变量都设置为某些值时才执行echo Succeeds!
。否则,执行exit -1
。
或者,在伪代码中:
if (all_env_vars_set_to_some_value($A, $B, $C)) {
echo 'Succeeds!';
else {
exit -1;
}
答案 0 :(得分:0)
你可以在BASH中使用它:
if [[ -n "$A" && -n "$B" && -n "$C" ]]; then
echo 'Succeeds!'
else
exit -1
fi
根据`man test:
-n STRING
the length of STRING is nonzero
答案 1 :(得分:0)
if [ 'X' = "${A:+${B:+${C:+X}}}" ]; then
echo 'Success!'
else
exit -1
fi
如果允许空值并且仅允许未设置变量,则只需从上述代码段中的每个变量扩展中删除:
但请注意,exit -1
并未从脚本中获取-1
返回码。它会让你255
。