หากต้องการแสดงการทดสอบต่อไปนี้ใน shell (sh):
if ( a == 1 && ( b == 1 || b == 2 )) { ... }
จนถึงตอนนี้สิ่งที่ดีที่สุดที่ฉันสามารถเขียนได้คือ:
if [[ $a -eq 1 ]]; then
if [[ $b -eq 1 || $b -eq 2 ]]; then
...
fi
fi
ฉันไม่ทราบวิธีการรวม && และ || ด้วยลำดับความสำคัญที่ถูกต้อง Googling ไม่ได้ให้คำตอบใด ๆ แก่ฉัน (แบบฝึกหัดให้ตัวอย่างพื้นฐานเท่านั้นถ้ามี)
ไวยากรณ์ที่จะรวมทั้งสองคืออะไรถ้าเป็นหนึ่ง?
ksh
? จากนั้นรหัสเริ่มต้นของคุณจะต้องใช้วงเล็บอีกหนึ่งคู่เท่านั้น:if (( a == 1 && ( b == 1 || b == 2 ))); then :; fi