logo

Bash While Döngüsü

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ı

Bash While Döngüsü

Ç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
Bash While Döngüsü

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ı

Bash While Döngüsü

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.

Bash While Döngüsü

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
Bash While Döngüsü

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></=>