如何在bash中检查空的环境变量

8 浏览
0 Comments

如何在bash中检查空的环境变量

这个问题已有答案:

如何检查Bash中的变量是否已设置

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

setenv ABC

现在我想在我的bash脚本中检查这个变量是否设置了。

#!/bin/bash        
ABC_USAGE=0
if [[ -z "$ABC" ]] ;  then
  ABC_USAGE=$((ABC_USAGE+1))
fi
 echo $ABC_USAGE

我只想在终端中设置了没有任何值的$ABC时增加$ABC_USAGE的值。但是我的代码无论如何都在增加这个值,这不是期望的结果。请帮忙。。

admin 更改状态以发布 2023年5月23日
0
0 Comments

使用这个表达式代替你正在使用的 if 表达式

if [ -z ${ABC+x} ]

如果变量没有设置,这个表达式将会返回空,如果变量被设置了这个条件将会是真。

这个表达式:

if [[ -z "$ABC" ]]

仅检查变量是否有任何值被分配或者变量是否为空

如果你仅仅设置变量而没有对其进行赋值,那么这个表达式总是为真。

0