轻松检查Bash语句的布尔值

时间:2018-10-26 09:10:24

标签: bash

我想检查bash中$ MY_EXPRESSION是对还是错。

我知道我可以用

来检查
if [ $MY_EXPRESSION ]; then echo "true" else echo "false

但是我想知道是否有更紧凑的检查方式,也许是我从未听说过的实用程序功能。理想情况是:

$bool $MY_EXPRESSION 

1 个答案:

答案 0 :(得分:2)

Bash变量是字符串或字符串数​​组;没有单独的布尔值概念。

常见的安排是使空字符串表示“ false”。然后,您所使用的语法几乎是正确的,只是您希望引用该变量。

可能还会探索&&||的简写。

[ "$MY_EXPRESSION" ] && echo "True" || echo "False"

[(又名test)命令具有大量选项,可用于检查其他条件,例如字符串或数字是否相等,是否存在具有指定名称的文件或目录,或其他。但是如果您只需要脚本即可在Bash中工作,则您可能更喜欢使用[[命令,该命令稍微更易于使用并提供更多功能。