bash:if-block-fo if-env-var不为空

bash:if-block-fo if-env-var不为空,bash,shell,Bash,Shell,在下面的示例中,else块用于表示环境变量是否为空。我想让它转到if-then块 if [ -z "$var" ] then echo "\$var is empty" else echo "\$var is NOT empty" fi 它会否定if块吗 if ! [ -z "$var" ] then echo "\$var is empty" 是的,您可以这样反转: if ! [ -z "$var" ] 或 或者更好地使用bash测试: if ! [[

在下面的示例中,
else
块用于表示环境变量是否为空。我想让它转到
if-then

if [ -z "$var" ]
then
      echo "\$var is empty"
else
      echo "\$var is NOT empty"
fi
它会否定if块吗

if ! [ -z "$var" ]
then
      echo "\$var is empty"

是的,您可以这样反转:

if ! [ -z "$var" ]

或者更好地使用bash测试:

if ! [[ -z $var ]]

或者干脆

if [[ ! $var ]]
[[
是一个bash关键字,与
[
命令类似(但功能更强大)。请参阅和。除非您是为POSIX sh编写的,否则我们建议您使用
[

if [[ -n $var ]]
if [[ ! $var ]]