Shell三元表達式


shell能否實現三元表達式呢?像下面這樣:

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

實現方法:

a=$([ "$b" == 5 ] && echo "$c" || echo "$d")

原理:

&&的優先級比||高,所以如果前面的&&成功,后面的||就不會執行;相反,后面的||就會執行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM