有这样的方法吗
int a = (b == 5) ? c : d;
使用Bash ?
有这样的方法吗
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 ))