检查多个Bash变量是否为空/未设置并运行该变量或该变量

问题描述 投票:0回答:1

我正在尝试填充/生成文件,具体取决于是否设置了多个变量/不将其设置为空。但是在两种情况下,它的行为总是像它们都被设置一样:

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

我在这里做错了什么?

bash variables
1个回答
0
投票

仅使用-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
© www.soinside.com 2019 - 2024. All rights reserved.