首页 > 解决方案 > 如何在bash脚本中将变量评估为二进制表达式

问题描述

在编写一些 bash 脚本时,我遇到了一种情况,我不确定如何做某事。如何将字符串的全部内容评估为单个 if 语句表达式中的单个表达式。

expression="0 != 1"
if [[ $expression ]]; then
     eval $action
     exit $?
fi

标签: bashif-statement

解决方案


使用旧式单括号,因为[[不会对变量进行分词。

[是一个正常的命令,所以变量扩展正常发生。

if [ $expression ]; then

或者,您可以eval在以下if条件下使用:

if eval "[[ $expression ]]"; then

推荐阅读