7 – Döngüler: Tekrar Eden İşlemler

Bash Script’lerde Döngü Nedir?
Bash scriptlerde döngüler, belirli bir işlemi veya komut grubunu birçok kez tekrar etmek amacıyla kullanılan kontrol yapılarını ifade eder. Döngüler, sık tekrarlanan görevleri basit ve etkili bir şekilde yapmayı sağlar. Bir dizi dosyanın işlenmesi, belirli bir sayıdaki işlemin tekrarlanması veya belirli bir koşul sağlanana kadar bir görevin gerçekleştirilmesi gibi pek çok farklı durumda döngüler büyük fayda sağlar.
Bash scriptlerde en yaygın olarak kullanılan döngü türleri for
, while
, ve until
döngüleridir. Bu döngüler, belirli bir sayıda veya belirli bir koşul karşılanana kadar komutların tekrarlanmasına olanak tanır.
1. For Döngüsü ve Listelerle Çalışma
For döngüsü, belirli bir dizi üzerinde döner ve dizi içindeki her bir öğe için belirli işlemleri gerçekleştirir. Bash’te for döngüsü, dosyalar üzerinde işlem yaparken veya belirli bir sayı aralığında döngü kurarken sıkça kullanılır.
Temel Söz Dizimi:
for item in list
do
komutlar
done
Örnek Kullanım:
#!/bin/bash
for dosya in *.txt
do
echo "$dosya dosyası işleniyor..."
# Dosya üzerinde yapılacak işlemler buraya gelir
done
Yukarıdaki örnekte, *.txt
ifadesi ile mevcut dizindeki tüm .txt
uzantılı dosyalar üzerinde işlem yapılmaktadır. Döngü her .txt
dosyası için sırayla çalışacak ve her dosya üzerinde belirtilen işlemi gerçekleştirecektir.
Sayısal For Döngüsü: For döngüsü, sayısal değerlerle belirli bir aralıkta işlem yapmak için de kullanılabilir.
#!/bin/bash
for i in {1..5}
do
echo "Bu $i numaralı tekrardır."
done
Bu örnekte, döngü 1’den 5’e kadar çalışacak ve her seferinde echo
komutunu kullanarak bir mesaj basacaktır.
2. While Döngüsü
While döngüsü, belirli bir koşul doğru olduğu sürece tekrar eden bir döngüdür. While döngüsü, döngü koşulu yanlış hale gelene kadar sürekli olarak komutları tekrar eder.
Temel Söz Dizimi:
while [ koşul ]
do
komutlar
done
Örnek Kullanım:
#!/bin/bash
sayac=1
while [ $sayac -le 5 ]
do
echo "Sayac: $sayac"
sayac=$((sayac + 1))
done
Yukarıdaki örnekte, sayac
değeri 1’den başlayarak 5’e kadar artırılmaktadır ve döngü bu koşul doğru olduğu sürece çalışmaya devam eder.
Etkileşimli Bir While Döngüsü Örneği:
#!/bin/bash
echo "Çıkmak için 'q' tuşuna basın."
read giris
while [ "$giris" != "q" ]
do
echo "Devam ediyorsunuz... Çıkmak için 'q' tuşuna basın."
read giris
done
Bu örnekte, kullanıcı q
harfini girmedikçe döngü devam eder ve kullanıcıdan yeni bir girdi alır.
3. Until Döngüsü
Until döngüsü, belirli bir koşul yanlış olduğu sürece tekrar eden bir döngüdür. Yani while döngüsünün tersi olarak çalışır. Until döngüsü, döngü koşulu doğru hale gelene kadar komutları çalıştırmaya devam eder.
Temel Söz Dizimi:
until [ koşul ]
do
komutlar
done
Örnek Kullanım:
#!/bin/bash
sayac=1
until [ $sayac -gt 5 ]
do
echo "Sayac: $sayac"
sayac=$((sayac + 1))
done
Bu örnekte, sayac
değeri 1’den başlayarak 5’e kadar artırılır ve koşul sayac
değerinin 5’ten büyük olup olmadığını kontrol eder. Koşul yanlış olduğu sürece döngü devam eder.
Döngülerde break
ve continue
Kullanımı
Break ve continue komutları, döngülerde kontrolü daha esnek hale getirmeye yardımcı olur:
break
Komutu: Bir döngünün çalışmasını durdurur ve döngünün dışına çıkar. Bu, döngünün erken sonlandırılması gereken durumlarda faydalıdır.Örnek:bashKodu kopyala# 1'den 10'a kadar sayarken 5'e gelince dur for i in {1..10} do if [ $i -eq 5 ] then break fi echo "$i" done
Bu örnekte, 5’e ulaşıldığında döngü sona erdirilir.continue
Komutu: Mevcut döngünün o anki yinelemesini sonlandırır ve bir sonraki yinelemeye geçer. Bu, belirli bir koşul sağlandığında o adımdaki işlemleri atlamak için kullanılır.Örnek:bashKodu kopyala# 1'den 10'a kadar sayarken 5'i atla for i in {1..10} do if [ $i -eq 5 ] then continue fi echo "$i" done
Bu örnekte, 5 sayısı atlanarak döngü kaldığı yerden devam eder.
Döngülerin Kullanım Amaçları ve Avantajları
- Dosya ve Diziler Üzerinde İşlem Yapmak: Bir dizindeki tüm dosyalar üzerinde işlem yapmak veya belirli bir dosya listesini işlemek için döngüler çok uygundur.
- Veri İşleme ve Manipülasyon: Verilen veri üzerinde tekrar eden işlemler yaparak veri işleme veya düzenleme.
- Otomasyon ve Tekrar Eden Görevler: Tekrar eden görevleri, örneğin log dosyalarını temizleme veya belirli bir görevi belli bir sayıda tekrarlama gibi işleri otomatik hale getirmek için döngüler kullanılabilir.
Döngüler, Bash scriptlerin gücünü ve esnekliğini artırarak, birçok farklı görevi etkili bir şekilde yerine getirmeye yardımcı olur. Döngülerle tekrar eden işlemleri kolayca yönetebilir ve otomasyon scriptleri geliştirebilirsiniz. Bu, özellikle sistem yönetimi, dosya işlemleri ve veri işleme gibi alanlarda büyük kolaylık sağlar.