Koşullu
ifadenin yorumuna bağlı olarak
0 ya da 1 ile döner. İfadeler
Bash Koşullu İfadeleri
bölümünde açıklanan önceliklere göre yorumlanır.
[[
ile
]] arasındaki sözcüklere sözcük ve
dosyaismi yorumlaması uygulanmaz, sadece yaklaşık (~), parametre ve
değişken yorumlamalarıyla aritmetik, komut ve süreç yorumlamaları ve
ayrımlama uygulanır.
-f gibi mantıksal işleçler öncelikliler arasında sayılabilmeleri için tırnak içine alınmamış olmalıdırlar.
== ve
!= işleçleri kullanıldığında,
işlecin sağındaki dizge bir kalıp olarak ele alınır ve
Kalıp Eşleme bölümünde
açıklanan kurallara göre eşleştirme yapılır.
Kabuk seçeneği
nocasematch etkinse eşleşme alfabetik karakterlerin büyüklüklerine bakılmaksızın uygulanır (bkz,
shopt Yerleşiği).
Dizge kalıpla eşleşirse (`==') 0, eşleşmezse (`!=') 1 ile döner. Kalıbın bir bölümünün özellikle dizge olarak yorumlanması isteniyorsa o bölüm tırnak içine alınabilir.
== ve
!= işleçleriyle aynı öncelik sırasına sahip bir iki terimli daha vardır:
=~ işleci. Kullanıldığında, işlecin sağındaki dizge bir gelişkin düzenli ifade olarak ele alınır ve buna uygun eşleştirilir (
regex3'teki gibi). Dizge kalıpla eşleşirse dönüş değeri 0, aksi takdirde 1'dir. Eğer düzenli ifade sözdizimsel olarak hatalıysa koşullu ifade 2 değeri ile döner. Kabuk seçeneği
nocasematch etkinse eşleşme alfabetik karakterlerin büyüklüklerine bakılmaksızın uygulanır (bkz,
shopt Yerleşiği). Düzenli ifade içindeki parantezli altifadelerle eşleşen altdizgeler dizi değişkeni
BASH_REMATCH'de saklanır.
BASH_REMATCH'in 0 indisli elemanı düzenli ifadenin tamamı ile eşleşen dizgeyi içerer.
BASH_REMATCH'in
n indisli elemanı ise düzenli ifadenin
n'inci parantezli altifadesi ile eşleşen dizgeyi içerir.
İfadeler aşağıdaki işleç öncelik sırasına göre yorumlanır:
ifade'nin değeri ile döner.
Önceliği arttırmak için kullanılır.
ifadenin değeri yanlışsa doğru döner.
ifade1 ve
ifade2, her ikisi de doğru ise
sonuç doğrudur.
ifade1 ya da
ifade2, her ikisinden biri doğru ise
sonuç doğrudur.
&& ve || işleçleri
ile sonucu elde etmek için ifade1 ifadesinin
değeri yeterliyse ifade2 yorumlanmaz.