Döngüler ve Diğer Kontrol Yöntemleri
Bash programlamanın temellerini anladıktan sonra, döngüler ve yaygın kullanılan kontrol yöntemlerini inceleyebiliriz.
for
Döngüsü
for
Döngüsüfor
döngüsü, bir listedeki (kelimeler, dosya adları vb.) her öğe için belirli komutları tekrarlamak amacıyla kullanılır.
Örnek 1: Dosyalar Üzerinde Döngü (Globbing ile - Önerilen Yöntem)
Mevcut dizindeki tüm .txt
dosyalarını listelemek için:
Uyarı: for i in $(ls)
gibi ls
komutunun çıktısını ayrıştırmak, dosya adlarında boşluk veya özel karakterler olduğunda sorunlara yol açar ve kesinlikle önerilmez. Dosyalar üzerinde işlem yapmak için globbing (*
, ?
, [...]
) veya find
komutu ile while read
döngüsü kullanılmalıdır.
Örnek 2: Sayı Aralığında Döngü
while
Döngüsü
while
Döngüsüwhile
döngüsü, belirli bir koşul doğru (true
, çıkış kodu 0) olduğu sürece komutları tekrarlar. Koşul genellikle [[ ... ]]
test ifadesiyle kontrol edilir.
Aşağıda 0'dan 9'a kadar sayan basit bir while
döngüsü örneği ve modern Bash aritmetik/test sözdizimi gösterilmiştir:
until
Döngüsü
until
Döngüsüuntil
döngüsü, while
'ın tersidir; belirtilen koşul yanlış (false
, çıkış kodu 0 olmayan) olduğu sürece komutları tekrarlar. Koşul doğru olduğunda döngü sona erer.
case
İfadesi
case
İfadesiBir değişkenin değerini birden fazla kalıpla karşılaştırmak için if
/elif
/else
yapısına alternatif olarak case
ifadesi kullanılır. Özellikle menü seçenekleri veya komut satırı argümanlarını işlemek için kullanışlıdır.
Aşağıdaki örnekte case
kullanımı, echo -n
(yeni satır eklemeden yazdırma) ve read -r
(kullanıcıdan güvenli girdi okuma) gösterilmektedir:
Her kalıp
)
ile biter.Her kalıp bloğundaki komutlar
;;
ile sonlandırılır.*
kalıbı, diğer kalıpların hiçbiriyle eşleşmeyen durumları yakalar (varsayılan durum gibi).
Örnek Çalıştırma:
Last updated