shell能否實現三元表達式呢?像下面這樣:
int a = (b == 5) ? c : d;
實現方法:
a=$([ "$b" == 5 ] && echo "$c" || echo "$d")
原理:
&&的優先級比||高,所以如果前面的&&成功,后面的||就不會執行;相反,后面的||就會執行。
shell能否實現三元表達式呢?像下面這樣:
int a = (b == 5) ? c : d;
實現方法:
a=$([ "$b" == 5 ] && echo "$c" || echo "$d")
原理:
&&的優先級比||高,所以如果前面的&&成功,后面的||就不會執行;相反,后面的||就會執行。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。