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

标签 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 值。无论如何,我的代码正在增加这个值。这不是预期的结果。请帮助..

最佳答案

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

if [ -z ${ABC+x} ]

如果未设置变量,这将计算为空,如果设置变量,则条件为真。

这个表达式:

if [[ -z "$ABC" ]]

只检查变量是否赋值或变量是否为空

如果您只是设置变量并且该变量没有分配任何值,它将始终为真。

关于linux - 如何检查bash中的空环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51784404/

相关文章:

android - 如何将linux shell命令从linux移植到android

bash - 从名称取自另一个变量的变量中获取内容

bash - 如何在 Bash 中进行替换内替换

bash - 即使其中的一个操作失败,也继续执行命令

linux - 升级 GCC 后 MySQL++ 库不工作

linux - 如何用另一个文件中的内容替换一个文件中第 XX 行之后的所有行?

java - 无法使用 .sh 文件运行我的 .jar 文件

linux - 向 255.255.255.255 广播 UDP 数据包

javascript - 在 Ubuntu 上构建 Mozilla Spider Monkey

linux - bash - 排除 "for file in $(find ...)"中的目录