BASH Programming

Bash Komut Dosyası Örneklerinde İç İçe Döngü

Bash Komut Dosyası Örneklerinde İç İçe Döngü

Programlama veya komut dosyası oluşturmada döngü, en temel ve güçlü kavramlardan biridir. Belirtilen koşullar karşılanana kadar bir döngü belirli görevleri gerçekleştiriyor. Her programlama veya betik dili, konsepti uygulamanın farklı yollarına sahiptir.

Bu kılavuzda, bash komut dosyası oluşturmada iç içe döngüye göz atın.

iç içe döngü

Tanım olarak bir döngü, koşullar karşılanana kadar belirli görevleri yerine getirir. Görev bir döngü çalıştırmayı içeriyorsa ne olur?? Bu iç içe döngü kavramıdır. Döngü içinde döngü.

Bu bir döngünün temel yapısıdır.

while (koşul)
# bir şey

Burada while döngüsü, koşul karşılandığı sürece blok içinde bildirilen görevleri gerçekleştirmeye devam edecektir. İç içe bir while döngüsü olması durumunda, yapı şöyle görünür:.

# Ana döngü
while (koşul)
# iç içe döngü
while(koşul)
# bir şey

Teoride, iç içe döngüler sonsuz derinliğe gidebilir. Birçok durumda iç içe döngüler mükemmel bir çözüm olabilir.

Bash betiğinde döngü

Bash güçlü bir betik dilidir. Bash'de farklı döngü yapıları var. En popüler olanlar for, while ve while döngüleridir. Daha önce C/C++ programlamaya aşina iseniz, sözdizimi kesinlikle oldukça benzer görünecektir.

döngüler için

For döngüsü, en yaygın ve çok yönlü form çıktılarından biridir. Bash komut dosyasında döngülerin yapısı. Yapı ayrıca C/C++'daki for döngüsüne çok benziyor.

Bash'deki for döngüsünün yapısı aşağıdaki gibidir.

for ((başlat ; koşul ; artış)); yapmak
# bir şey
bitti

Yapısı çok açıklayıcı. Başlatma bölümü zorunlu değil. Ancak, koşul ve artış daha yüksek önceliklidir.

Hadi harekete geçirelim. İşte for döngüsü uygulayan çok basit bir bash betiği.

için ((i = 0 ; ben < 5 ; i++)); do
yankı "merhaba dünya"
bitti

Döngü koşulu olarak liste/aralık kullanmak da mümkündür. Özellikle bir dosya listesi, sayı aralıkları, diziler, komut çıktıları vb. ile çalışıyorsanız kullanışlıdır. Yapısı şuna benziyor.

öğe için ; yapmak
# bir şey
bitti

Örneğin, aşağıdaki komut dosyası beş kez "merhaba dünya" yazacaktır.

i için 1… 5; yapmak
yankı "merhaba dünya"
bitti

Bir dizinin içeriğiyle çalışmamız gerekirse ne olur?? Aşağıdaki örnekte, komut dosyası /usr/bin dizinindeki tüm dosyaları yazdıracaktır.

/usr/bin/* içindeki i için; yapmak
yankı $i
bitti

Şimdi, iç içe bir for döngüsüne sahip olmak için ne yapıyoruz?? Bu sadece bir for döngüsü içinde diğerinin içinde. İşte önceki örneği kullanarak iç içe bir for döngüsü.

için ((i = 0 ; ben < 3 ; i++)); do
for((j = 0 ; j < 2 ; j++)); do
yankı "merhaba dünya"
bitti
bitti

Çıktı 6 kez “merhaba dünya” olacak. Dış döngü üç kez çalışacak, iç döngü iki kez çalışacak.

Döngüler sırasında

while döngüsü, bash komut dosyası oluşturmada kullanılabilen başka bir popüler ve sezgisel döngüdür. Sözdizimi şöyle görünüyor.

süre ; yapmak
# bir şey
bitti

Aşağıdaki örnekte, komut dosyası beş kez "merhaba dünya" yazacaktır.

sayı=1
while [ $num -le 5 ]; yapmak
yankı "merhaba dünya"
sayı=$(($sayı+1))
bitti

Yuvalanmış bir while döngüsüne sahip olmak nasıl görünürdü?? İşte basit bir örnek.

sayı_a=1
say_b=1
while [ $num_a -le 5 ]; yapmak
while [ $num_b -le 5 ]; yapmak
yankı "merhaba dünya"
sayı_b=$(($sayı_b+1))
bitti
sayı_a=$(($sayı_a+1))
bitti

Döngülere kadar

C/C++'da bir programlama geçmişiniz varsa, do-while döngüsüne aşinasınızdır. Ne yazık ki, bash böyle bir şeye sahip değil. Ancak, döngü benzer şekilde çalışana kadar. Sözdizimi de oldukça aynı görünüyor.

a kadar [ ]; yapmak
# bir şey
bitti

Döngü ile while arasındaki fark, test koşuludur. Test koşulu doğru olduğu sürece bir while döngüsü çalışmaya devam edecektir. Ancak bir kadar döngüsü, yalnızca koşul yanlışsa çalışmaya devam eder.

İşte while döngüsünün hızlı bir örneği. 2'nin çarpım tablosunu yazdıracak.

sayı_a=1
[ $num_a -gt 10 ]'a kadar; yapmak
yankı $(($num_a * 2))
sayı_a=$(($sayı_a+1))
bitti

döngü sonu

Belirli durumlarda, belirli koşullar karşılanırsa, döngünün geri kalanını çalıştırmak gereksiz hale gelir. Döngü sonları, belirli bir koşulda döngüden ayrılmaya izin veren ilginç bir özelliktir. Döngüler ne kadar yüksek olursa, kaynak tüketimi ve verimsizlik o kadar fazla olduğundan, iç içe döngüler için daha önemlidir.

Burada, aşağıdaki for döngüsü, koşula ulaşır ulaşmaz çalışmayı durduracaktır.

için ((i=1;i<=100;i++)); do
yankı $i
eğer [ $i -eq 10 ]; sonra
kırmak
fi
bitti

Döngü sonlarının ayrıntılı açıklaması ve gösterimi için while döngüsünün nasıl kesileceğini inceleyin.

Son düşünceler

İç içe döngü, anlamak ve uygulamak için basit ve güçlü bir kavramdır. Umarım, bu kılavuz konsepti tanımlayabilmiş ve gösterebilmiştir.

Daha fazla bash komut dosyası kılavuzuyla ilgileniyor? Aşağıdaki kılavuzlara göz atın.

  • Bash sonsuz döngü
  • Bash komut dosyası kullanıcı girişi
  • Bash işlevi dizi döndürüyor

Mutlu bilgisayar!

Linux Eğitimi için Tomb Raider'ın Gölgesi
Shadow of the Tomb Raider, Eidos Montreal tarafından yaratılan bir aksiyon-macera oyunu serisi olan Tomb Raider serisine eklenen on ikinci oyundur. Oy...
Linux'ta FPS Nasıl Arttırılır?
FPS'nin kısaltması Saniyedeki Kare Sayısı. FPS'nin görevi, video oynatma veya oyun performanslarındaki kare hızını ölçmektir. Basit bir deyişle, her s...
En İyi Oculus Uygulama Laboratuvarı Oyunları
Oculus başlık sahibiyseniz, yandan yükleme hakkında bilgi sahibi olmalısınız. Sideloading, kulaklığınıza mağaza dışı içerik yükleme işlemidir. SideQue...