将条件表达式的结果赋值给环境变量

将条件表达式的结果赋值给环境变量

我想将条件表达式的结果存储在环境变量中。

我试过:

C=$([ "$A" = "$B" ])

但运行后的值$C是一个空字符串。

我当然可以做这样的事情:

if [ "$A" = "$B" ]
then
  C=1
else
  C=0
fi

但我确信有更好的方法。

答案1

我认为最简单的解决方案是:

C=$(! [ "$A" = "$B" ]; echo $?)

这只是否定测试命令的退出代码并将其分配给$C

答案2

使用如下表达式:

variable=$([ "A" == "B" ] && echo "true" || echo "false") 

相关内容