有这样的方法吗

int a = (b == 5) ? c : d;

使用Bash ?


当前回答

let命令支持大多数基本操作符:

let a=b==5?c:d;

当然,这只适用于分配变量;不能执行其他命令。

其他回答

代码:

a=$([ "$b" == 5 ] && echo "$c" || echo "$d")
(ping -c1 localhost&>/dev/null) && { echo "true"; } || {  echo "false"; }

如果您想要类似的语法,您可以使用它

a=$(( $((b==5)) ? c : d ))
(( a = b==5 ? c : d )) # string + numeric

在bash中还有一个非常相似但更简单的三元条件语句语法:

a=$(( b == 5 ? 123 : 321  ))