我想检查bash中$ MY_EXPRESSION是对还是错。
我知道我可以用
来检查if [ $MY_EXPRESSION ]; then echo "true" else echo "false
但是我想知道是否有更紧凑的检查方式,也许是我从未听说过的实用程序功能。理想情况是:
$bool $MY_EXPRESSION
答案 0 :(得分:2)
Bash变量是字符串或字符串数组;没有单独的布尔值概念。
常见的安排是使空字符串表示“ false”。然后,您所使用的语法几乎是正确的,只是您希望引用该变量。
可能还会探索&&
和||
的简写。
[ "$MY_EXPRESSION" ] && echo "True" || echo "False"
[
(又名test
)命令具有大量选项,可用于检查其他条件,例如字符串或数字是否相等,是否存在具有指定名称的文件或目录,或其他。但是如果您只需要脚本即可在Bash中工作,则您可能更喜欢使用[[
命令,该命令稍微更易于使用并提供更多功能。