bash - 检查多个 Bash 变量是否为空/未设置并运行这个或那个
问题描述
我正在尝试根据多个变量是否设置/不为空来填充/生成文件。但在这两种情况下,它总是表现得像它们都被设置:
if [[ -z $VAR1=="" || -z $VAR2=="" ]]; then
echo "VARs not set"
cat <<EOF > file
1
2
3
EOF
else
echo "VARs are set"
cat <<EOF > file
1
2
3
4
5
EOF
fi
我在这里做错了什么?
解决方案
仅使用 -z $VAR
if [[ -z $VAR1 || -z $VAR2 ]]; then
echo "VARs NOT set -- "
cat <<EOF > file
1
2
3
EOF
else
echo "VARs are set"
cat <<EOF > file
1
2
3
4
5
EOF
fi
推荐阅读
- javascript - Angularjs $stateChangeStart 检查字符串是否在对象中
- javascript - 如何将javascript请求转换为curl
- typescript - 打字稿:推断函数参数
- mysql - 使用内连接从多个表中获取列数据
- javascript - msgwindow 文档中的 Javascript 断线写入
- javascript - 期望一个赋值或函数调用,而是看到一个表达式。在 document.execCommand("copy"); 对于书签
- javascript - Javascript没有从嵌套函数中创建闭包?
- ocaml - Ocaml税计算器隐藏错误
- javascript - 创建一个将用户输入传递给另一个表单的表单
- python - Python 文档和实现中“对象在内存中的地址”的细微差别