如何检查bash中的Empty环境变量

时间:2018-08-10 10:24:43

标签: linux bash shell

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

setenv ABC

现在,我想检查我的bash脚本是否设置了此变量。

#!/bin/bash        

ABC_USAGE=0

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

仅当终端中设置了$ ABC而没有任何值时,我才想增加$ ABC_USUAGE值。无论如何,我的代码正在增加此值。这不是预期的结果。请帮助。

1 个答案:

答案 0 :(得分:1)

使用它代替您正在使用的if表达式

if [ -z ${ABC+x} ]

如果未设置变量,并且设置了条件,则条件为true。

此表达式:

if [[ -z "$ABC" ]]

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

如果仅设置变量,并且变量没有赋值,它将始终为真。