Menu
CoddyTech

While Döngüsü

Coddy'nin Terminal Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 72 / 82.

Hangi öğeler üzerinde yineleme yapacağınızı tam olarak bildiğinizde for döngüsü harikadır. Peki belirli bir koşul değişene kadar döngüyü sürdürmek isterseniz ne olacak? İşte bu noktada while döngüsü devreye girer.

Bir while döngüsü, koşulu doğru olduğu sürece çalışmaya devam eder. Temel yapısı şöyledir:

#!/bin/bash
count=1
while [ $count -le 5 ]; do
    echo "Count: $count"
    count=$((count + 1))
done

Bu betik 1'den 5'e kadar olan sayıları yazdırır.

Döngü, count değerinin 5'ten küçük veya 5'e eşit olup olmadığını kontrol eder. Koşul doğruysa gövdeyi çalıştırır, aritmetik işlem için $((...)) kullanarak sayacı artırır ve tekrar kontrol eder.

count 6'ya ulaştığında koşul yanlış olur ve döngü durur.

While döngüleri, kaç yinelemeye ihtiyacınız olacağını önceden bilmediğinizde idealdir. Örneğin, kullanıcı "quit" yazana kadar girdi istemeye devam edebilirsiniz:

#!/bin/bash
input=""
while [ "$input" != "quit" ]; do
    read -p "Enter command (quit to exit): " input
    echo "You entered: $input"
done

while döngülerini kullanırken dikkatli ol. Koşul hiçbir zaman yanlış olmazsa döngün sonsuza kadar çalışır.

Döngünün içindeki bir şeyin, örneğin bir sayacı artırarak veya kullanıcı girdisine göre bir değişkeni güncelleyerek, koşulu sonunda değiştirdiğinden her zaman emin ol.

challenge icon

Görev

Kolay

1'den 4'e kadar sayıları yazdırmak için while döngüsü kullanan counter.sh adlı bir kabuk betiği oluşturun.

Betik şunları yapmalıdır:

  1. Shebang satırıyla başlamalıdır (#!/bin/bash)
  2. İlk değeri 1 olan num adlı bir değişken oluşturmalıdır
  3. num değeri 4'e eşit veya daha küçük olduğu sürece devam eden bir while döngüsü kullanmalıdır
  4. Döngünün içinde geçerli sayıyı şu biçimde yazdırmalıdır: Number: [num]
  5. Her yinelemeden sonra $((num + 1)) kullanarak num değerini 1 artırmalıdır

Betiği çalıştırılabilir hâle getirin ve çalıştırın. Çıktınız şöyle olmalıdır:

Number: 1
Number: 2
Number: 3
Number: 4

İpucu: "küçük veya eşit" karşılaştırması için -le kullanın. Sonsuz döngüyü önlemek için sayaç değerini döngünün içinde num=$((num + 1)) ile artırmayı unutmayın. While döngünüzü done ile bitirin.

Kendin dene

Terminal
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Terminal playground