gpt4 book ai didi

bash - 如何测试空字符串的多个变量

转载 作者:行者123 更新时间:2023-12-02 00:13:23 24 4
gpt4 key购买 nike

我想测试多个变量,看它们是否为空。所以我做了以下事情:

if [ test -z "$VAR1" ] || [ test -z "$VAR2" ]
then
echo "Empty!"
fi

但是,它不起作用。输出是:

[: -z: binary operator expected
[: -z: binary operator expected

我做错了什么?如果我省略 OR (||) 条件,上面的代码可以正常工作。

最佳答案

使用方括号或 test 命令,不要同时使用两者。以下任一方法都有效:

if [ -z "$VAR1" ] || [ -z "$VAR2" ]
then
echo "Empty!"
fi

或者:

if test -z "$VAR1" || test -z "$VAR2"
then
echo "Empty!"
fi

在一些较旧的 shell 中,[ 只是 test 命令的别名。您甚至可能错过结束 ](或在 test 之后添加它),一切都会好起来的。现在,在 bash 上,这会给出一个语法错误。然而,这两种(正确的)语法在功能上仍然是等价的,可以互换使用,但不能同时使用。

关于bash - 如何测试空字符串的多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57977091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com