关于linux:如何在bash中检查Empty环境变量

how to check Empty environment variable in bash

本问题已经有最佳答案,请猛点这里访问。

我正在终端中设置一个没有值的环境变量。

1
setenv ABC

现在,我想签入我的bash脚本,看是否设置了这个变量。

1
2
3
4
5
6
7
8
#!/bin/bash        

ABC_USAGE=0

if [[ -z"$ABC" ]] ;  then
  ABC_USAGE=$((ABC_USAGE+1))
fi
 echo $ABC_USAGE

我只想增加$abc的使用价值,如果$abc设置在终端中没有任何价值。我的代码无论如何都在增加这个值。这不是预期的结果。请帮助…


使用它而不是您正在使用的if表达式

1
if [ -z ${ABC+x} ]

如果未设置变量,此值将为零;如果将设置变量,则条件将为真。

此表达式:

1
if [[ -z"$ABC" ]]

仅检查变量是否分配了任何值或变量是否为空

如果只设置了变量,而变量没有赋值,则始终为真。