【Shell脚本技巧】Shell三元表达式(类似?:运算符)
shell能否实现三元表达式呢?像下面这样:
result = (isOk == 1) ? "yes" : "NO";
实现方法:
result=$([ "$isOk" == 1 ] && echo -n "yes" || echo -n "NO")
原理:
&&的优先级比||高,所以如果前面的&&成功,后面的||就不会执行;相反,后面的||就会执行。
shell能否实现三元表达式呢?像下面这样:
result = (isOk == 1) ? "yes" : "NO";
实现方法:
result=$([ "$isOk" == 1 ] && echo -n "yes" || echo -n "NO")
原理:
&&的优先级比||高,所以如果前面的&&成功,后面的||就不会执行;相反,后面的||就会执行。