【发布时间】:2019-01-17 22:41:08
【问题描述】:
我在终端中设置了一个没有值的环境变量。
setenv ABC
现在我想检查我的 bash 脚本是否设置了这个变量。
#!/bin/bash
ABC_USAGE=0
if [[ -z "$ABC" ]] ; then
ABC_USAGE=$((ABC_USAGE+1))
fi
echo $ABC_USAGE
我想增加 $ABC_USUAGE 值,只有在终端中设置了 $ABC 而没有任何值。无论如何,我的代码正在增加这个值。这不是预期的结果。请帮忙..
【问题讨论】:
-
即使你使用 just set 来设置变量,据我所知 -z 只检查它是否为空
-
我将它设置在脚本之外的终端中。并想检查脚本内部。这个变量没有值。
-
那么 if 语句将永远为真,因为变量是空的,即使它被设置了
-
是的,这就是我面临的问题。你能帮我正确的语法吗??
-
请看答案解释