Jika ingin mengekspresikan tes berikut dalam shell (sh):
if ( a == 1 && ( b == 1 || b == 2 )) { ... }
Sejauh ini, yang terbaik yang bisa saya tulis adalah ini:
if [[ $a -eq 1 ]]; then
if [[ $b -eq 1 || $b -eq 2 ]]; then
...
fi
fi
Saya tidak tahu bagaimana cara menggabungkan && dan || dengan prioritas yang benar. Googling belum memberi saya jawaban apa pun (tutorial hanya memberikan contoh dasar, jika ada)
Apa sintaksis untuk menggabungkan keduanya jika menjadi satu?
ksh? Maka kode awal Anda hanya akan membutuhkan satu pasang kurung lagi:if (( a == 1 && ( b == 1 || b == 2 ))); then :; fi