Menu
CoddyTech

For Döngüsü

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

Bazen bir eylemi birden çok kez tekrarlamanız gerekir. Aynı komutu tekrar tekrar yazmak yerine, bir öğe listesini dolaşmak ve her biri üzerinde bir eylem gerçekleştirmek için for döngüsünü kullanabilirsiniz.

Bash dilinde bir for döngüsünün temel yapısı şöyledir:

#!/bin/bash
for name in Alice Bob Charlie; do
    echo "Hello, $name!"
done

Bu betik, listedeki her ad için bir selamlama çıktısı verir. name değişkeni sırayla her değeri alır: önce "Alice", sonra "Bob", ardından "Charlie". do anahtar sözcüğü döngü gövdesinin başlangıcını belirtir ve done onu bitirir.

For döngüleri, joker karakterlerle birleştirildiğinde özellikle güçlüdür. Bir dizindeki tüm dosyalar üzerinde döngü kurabilirsin:

#!/bin/bash
for file in *.txt; do
    echo "Processing $file"
done

Bu, geçerli dizindeki her .txt dosyasını sırayla işler. Her yinelemede file değişkeni geçerli dosya adını tutar; böylece her dosyada işlemleri otomatik olarak gerçekleştirebilirsin.

Bilinmesi gereken bir sürpriz: kalıp hiçbir dosyayla eşleşmezse Bash kalıbı genişletmez. Bu durumda döngü hiç çalışmamak yerine, değer olarak *.txt metnini kullanarak bir kez çalışır.

Süslü parantez genişletmesini kullanarak bir sayı aralığı üzerinde de döngü kurabilirsin:

#!/bin/bash
for i in {1..5}; do
    echo "Number: $i"
done

Bu, 1'den 5'e kadar olan sayıları yazdırır. Döngüler, tekrarlayan görevleri yalnızca birkaç satır koda dönüştürerek betiklerinizi daha verimli ve bakımı daha kolay hâle getirir.

challenge icon

Görev

Kolay

countdown.sh adlı bir kabuk betiği oluştur ve 5'ten 1'e kadar geri sayım yazdırmak için bir for döngüsü kullan.

Betik şunları yapmalı:

  1. Shebang satırıyla başlamalı (#!/bin/bash)
  2. 5'ten 1'e kadar olan sayılar üzerinde gezinmek için süslü parantez genişletmesi kullanan bir for döngüsü kullanmalı
  3. Her sayıyı kendi satırında şu biçimde yazdırmalı: Countdown: [number]

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

Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1

İpucu: Azalan bir aralık oluşturmak için {5..1} kullan. Döngünün içinde, i döngü değişkenin olacak şekilde echo "Countdown: $i" kullan.

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