Ders 11.3: Karar vermek: if, test ve case
if'in çıkış durumuna bakarak nasıl karar verdiği, test komutu ve [ ] biçimi (sayılar -eq -gt -lt, metinler = !=, dosyalar -f -d -e, boşluk için -z), [ ] içindeki boşlukların neden önemli olduğu, gerçek df çıktısıyla beslenen bir disk doluluk denetleyicisinde if/elif/else, kısa kararlar olarak && ve ||, bash'in joker karakter kabul eden [[ ]] biçimi ve start, stop gibi komutlar arasında seçim için case. nano ile bir hizmet betiğine yeni bir durum ekliyorsun.
19 dk
Bu derste öğreneceklerin
- if'in bir çıkış durumunu sınadığını açıklamak
- test ve [ ] ile sayıları, metinleri ve dosyaları karşılaştırmak
- if/elif/else yazmak
- Tek satırlık kararlar için && ve || kullanmak
- [[ ]] ile kalıp eşleştirmek
- case ile eylemler arasında seçim yapmak
Temel terimler
- Koşul (condition)
- bash'te herhangi bir komut: 0 ile biterse koşul doğrudur, aksi hâlde yanlıştır.
- test / [ ]
- Sayıları, metinleri ve dosyaları denetleyip çıkış durumuyla cevap veren komut. [ … ] aynı komutun kapanış parantezli hâlidir.
- if / elif / else / fi
- İlk doğru koşulun bloğunu çalıştırır; hiçbiri doğru değilse else çalışır; fi kapatır.
- [[ ]]
- bash'in kendi testi: içinde kelimelere bölme yoktur, == ve != joker karakter kabul eder, =~ bir düzenli ifadeyle eşleştirir (10. bölüm), içinde && ve || çalışır.
- case / esac
- Bir değeri sırayla kalıplarla karşılaştırır ve eşleşen ilk dalı çalıştırır; *) geri kalan her şeyi yakalar; her dal ;; ile biter.
- exit
- Betiği bitirir ve çıkış durumunu belirler: exit 0 başarı, exit 1 (ya da başka sayılar) başarısızlık.
← Değişkenler, argümanlar ve girdi · Tüm dersler · Döngüler: for, while ve until →