For Döngüsü
Coddy'nin Terminal Journey'sinin Temeller bölümünün bir parçası. Ders 71 / 82.
Bazen bir eylemi birden çok kez tekrarlaman gerekir. Aynı komutu tekrar tekrar yazmak yerine, bir öğe listesinde yinelemek ve her biri üzerinde bir eylem gerçekleştirmek için for döngüsünü kullanabilirsin.
Bash'te bir for döngüsünün temel yapısı şöyledir:
#!/bin/bash
for name in Alice Bob Charlie; do
echo "Hello, $name!"
doneBu 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 sonlandırır.
For döngüleri, joker karakterlerle birleştirildiğinde özellikle güçlüdür. Bir dizindeki tüm dosyalar üzerinde döngü oluşturabilirsin:
#!/bin/bash
for file in *.txt; do
echo "Processing $file"
doneBu, geçerli dizindeki her .txt dosyası üzerinde yineleme yapar. Her yinelemede file değişkeni geçerli dosya adını içerir ve her dosya üzerinde işlemleri otomatik olarak gerçekleştirmenizi sağlar.
Ayrıca süslü parantez genişletmesini kullanarak bir sayı aralığı üzerinde döngü oluşturabilirsiniz:
#!/bin/bash
for i in {1..5}; do
echo "Number: $i"
doneBu, 1'den 5'e kadar olan sayıları yazdırır. For döngüleri, tekrarlayan görevleri yalnızca birkaç kod satırına dönüştürerek betiklerinizin daha verimli ve bakımının daha kolay olmasını sağlar.
Görev
Kolaycountdown.sh adlı bir kabuk betiği oluşturun; bu betik, 5'ten 1'e geri sayım yazdırmak için bir for döngüsü kullanmalıdır.
Betiğiniz şunları yapmalıdır:
- Shebang satırıyla başlamalıdır (
#!/bin/bash) - 5'ten 1'e kadar olan sayılar arasında yinelemek için süslü parantez genişletmesiyle bir for döngüsü kullanmalıdır
- Her sayıyı kendi satırında şu biçimde yazdırmalıdır:
Countdown: [number]
Betiği çalıştırılabilir hâle getirin ve çalıştırın. Çıktınız şu şekilde olmalıdır:
Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1İpucu: Azalan bir aralık oluşturmak için
{5..1}kullanın. Döngünün içinde,idöngü değişkeniniz olacak şekildeecho "Countdown: $i"kullanın.
Kendin dene
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
4Dizinler
Bir Dizin OluşturBir Dizin KopyalaBir Dizin Taşı ve Yeniden AdlandırBir Dizin SilÖzet - Dizin İşlemleri7Dosya İçeriği
Head ve TailKelime SayısıSort KomutuUnik KomutuGrep TemelleriBayraklarla GrepÖzet - Metin Dedektifi10Günlük Analizörü Projesi
Proje Genel BakışıGünlük Dosyasını Görüntüleme13Kabuk Betikleme Temelleri
Kabuk Betiği NedirBir Betik Oluştur ve ÇalıştırBetiklerde DeğişkenlerBetiklerde Kullanıcı GirdisiIf İfadesiFor DöngüsüWhile DöngüsüÖzet - Sayı Tahmincisi2Navigasyon
Çalışma Dizini'ni YazdırDosyaları ListeleDizin DeğiştirMutlak ve Göreli YollarEv ve Kök DizinÖzet - Yolunu Bul8Yönlendirme
Standart ÇıktıDosyaya Üzerine YazmaDosyaya EklemeStandart GirdiStandart HataÖzet - Günlük Oluşturucu3Dosyalar
Bir Dosya OluşturBir Dosya OkuBir Dosya KopyalaBir Dosyayı Taşı ve Yeniden AdlandırBir Dosya SilÖzet - Dosya İşlemleri6Joker Karakterler ve Desenler
Yıldız Joker KarakteriSoru İşareti Joker KarakteriKöşeli Parantez JokerleriJoker Karakterleri BirleştirmeÖzet - Seçici İşlemler9Borulama
Boru Nedir?İki Komutu ZincirlemeBirden Fazla Komutu ZincirlemeGrep ile BoruÖzet - Veri Boru HattıKendi başına pratik yap: Terminal playground