Bu konumuzda Bash Script'te while döngüsü ifadesinin nasıl kullanılacağını gösterdik.
bash while döngüsü Uygulanan koşul doğru olarak değerlendirildiği sürece verilen komut kümesinin tekrar tekrar yürütülmesine izin veren bir kontrol akış ifadesi olarak tanımlanabilir. Örneğin, echo komutunu birçok kez çalıştırabiliriz veya bir metin dosyasını satır satır okuyup sonucu Bash'te while döngüsünü kullanarak işleyebiliriz.
Bash While Döngüsünün Sözdizimi
Bash while döngüsü aşağıdaki formata sahiptir:
j e s t
while [ expression ]; do commands; multiple commands; done
Yukarıdaki sözdizimi yalnızca ifadenin tek bir koşul içermesi durumunda geçerlidir.
İfadeye dahil edilecek birden fazla koşul varsa, while döngüsünün sözdizimi aşağıdaki gibi olacaktır:
while [ expressions ]; do commands; multiple commands; done
While döngüsünün tek satırlık sözdizimi şu şekilde tanımlanabilir:
while [ condition ]; do commands; done while control-command; do Commands; done
'While loop' ifadesinin bazı önemli noktaları vardır:
- Komutlar yürütülmeden önce durum kontrol edilir.
- 'While' döngüsü aynı zamanda for 'döngüsü'nün yapabileceği tüm işleri yapma kapasitesine sahiptir.
- 'Do' ve 'done' arasındaki komutlar, koşul doğru olarak değerlendirildiği sürece tekrar tekrar yürütülür.
- 'While' döngüsünün argümanları bir boole ifadesi olabilir.
Nasıl çalışır
While döngüsü sınırlı bir giriş döngüsüdür. Bu, while döngüsünün komutları yürütülmeden önce koşulun kontrol edildiği anlamına gelir. Koşul doğru olarak değerlendirilirse, bu koşulu izleyen komut kümesi yürütülür. Aksi takdirde döngü sonlandırılır ve 'done' ifadesinin ardından programın kontrolü diğer komuta verilir.
Bash While Döngüsü Örnekleri
Aşağıda bazı bash while döngüsü örnekleri verilmiştir:
Tek Koşullu While Döngüsü
Bu örnekte while döngüsü ifadede tek bir koşulla birlikte kullanılmıştır. Kullanıcı girişine göre sayı dizisini yazdıran while döngüsünün temel örneğidir:
Örnek
#!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -le $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.'
Çıktı
Çoklu Koşullarla While Döngüsü
Aşağıda, ifadede birden çok koşul bulunan while döngüsünün bir örneği verilmiştir:
Örnek
#!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -lt $enum || $snum == $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.'
Çıktı
Android telefondaki iPhone emojileri
Sonsuz While Döngüsü
Sonsuz döngü, sonu veya sonu olmayan bir döngüdür. Koşul her zaman doğru olarak değerlendirilirse sonsuz bir döngü oluşturulur. Döngü, CTRL+C kullanılarak zorla durdurulana kadar sürekli olarak yürütülecektir:
Örnek
#!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done
Yukarıdaki scripti tek satırda şu şekilde de yazabiliriz:
#!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done
Çıktı
Burada her zaman true değerini döndüren yerleşik komutu (:) kullandık. Aşağıdaki gibi sonsuz bir döngü oluşturmak için yerleşik true komutunu da kullanabiliriz:
Örnek
#!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done
Bu bash betiği aynı zamanda yukarıdaki sonsuz betikle aynı çıktıyı sağlayacaktır.
Not: Sonsuz döngüler CTRL+C kullanılarak veya komut dosyasına bazı koşullu çıkışlar eklenerek sonlandırılabilir.
Break İfadesi ile While Döngüsü
Uygulanan koşula göre döngüyü durdurmak için break ifadesi kullanılabilir. Örneğin:
Örnek
#!/bin/bash #While Loop Example with a Break Statement echo 'Countdown for Website Launching...' i=10 while [ $i -ge 1 ] do if [ $i == 2 ] then echo 'Mission Aborted, Some Technical Error Found.' break fi echo '$i' (( i-- )) done
Çıktı
Komut dosyasına göre döngü on kez yinelenecek şekilde atanmıştır. Ancak sekiz kez yinelemeden sonra yinelemeyi kesecek ve döngüyü sonlandıracak bir durum vardır. Betiği çalıştırdıktan sonra aşağıdaki çıktı gösterilecektir.
Devam İfadesi ile While Döngüsü
Devam ifadesi, while döngüsü içindeki belirli bir koşulun yinelemesini atlamak için kullanılabilir.
Örnek
#!/bin/bash #While Loop Example with a Continue Statement i=0 while [ $i -le 10 ] do ((i++)) if [[ '$i' == 5 ]]; then continue fi echo 'Current Number : $i' done echo 'Skipped number 5 using Continue Statement.'
Çıktı
Python'daki fark
C-Stili ile While Döngüsü
C programlama dilindeki while döngüsüne benzer şekilde bash betiğinde de while döngüsü yazabiliriz.
Örnek
#!/bin/bash #While loop example in C style i=1 while((i <= 10)) do echo $i let i++ done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/46/bash-while-loop-6.webp" alt="Bash While Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use while loop statement in Bash to perform specific tasks.</p> <hr></=>