Menu
Coddy logo textTech

While Döngüsü

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

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

Bir while döngüsü, koşulu doğru kaldığı 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 ile 5 arasındaki sayıları yazdırır.

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

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

While döngüleri, kaç yinelemeye ihtiyacınız olduğunu önceden bilmediğiniz durumlar için idealdir. Örneğin, kullanıcı "quit" yazana kadar input 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 false 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 eninde sonunda değiştirdiğinden her zaman emin ol.

challenge icon

Görev

Kolay

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

Betiğiniz şunları yapmalıdır:

  1. Shebang satırıyla başlayın (#!/bin/bash)
  2. Başlangıç değeri 1 olan num adlı bir değişken oluşturun
  3. num 4'ten küçük veya ona eşit olduğu sürece devam eden bir while döngüsü kullanın
  4. Döngünün içinde mevcut sayıyı şu biçimde yazdırın: Number: [num]
  5. Her yinelemeden sonra $((num + 1)) kullanarak num değerini 1 artırın

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

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

İpucu: "küçüktür veya eşittir" karşılaştırması için -le kullanın. Sonsuz döngüyü önlemek için döngünün içinde sayacı num=$((num + 1)) ile artırmayı unutmayın. while döngünüzü done ile sonlandırın.

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.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Terminal playground