Döngü, işinizi daha kolay hale getirebilecek ve yinelenen görevleri nispeten kolay bir halde otomatikleştirmenize destek olabilecek organik bir sanattır.
Bir takım sayıyı yada metni güncelleştirmeniz ihtiyaç duyulan bir durum düşünün ve bunu manuel olarak yapmak yerine, sistemin sizin için yapmasını sağlarsınız. Bu döngünün gücü ve sizin için masaya getirmiş olduğu faydalardır.
Döngüler, bir işlev olarak, neredeyse her programlama dilinde kullanılabilir; Linux’un Bash’i bu kuralın istisnası değildir.
Kabuk komut dosyasında for döngüsünü iyi mi kullanabileceğinizi açıklayan bir kılavuz aşağıda açıklanabilir.
For Döngüsü Yapısı
Kabuk komut dosyalarında for döngüsünü kullanmak oldukça basittir ve değişik hedeflere ulaşmak için yapıyı değiştirebilirsiniz.
Temel yapı aşağıdaki gibidir:
for item in (LIST)
do
(COMMANDS)
done
Bir döngüyle, saatin ihtiyacına bağlı olarak sayısal ve karakter değerleri içinde geçiş yapabilirsiniz.
Kabuk komut dosyasındaki for döngüsünün yapısı aşağıda açık:
for VARIABLE in 1 2 3 4 5 .. N
do
command1
command2
commandN
done
İlk satırdaki yineleme sayısını tanımlayabilirsiniz. Bu şekilde, başlangıç kıymetini ve bitiş kıymetini belirteceksiniz.
Yineleme sayısı belirttiğiniz değerlere gore belirlenirken, aşağıdaki kod yapmak deyimi elde eden döngü değeridir.
Linux Bash’te Döngüler Oluşturma ve Çalıştırma
Kod yazmaya adım atmak için Linux terminalini açın.
Yürütüldüğünde istenen neticeleri yazdırır kabuk komut dosyasını depolamak için bir metin düzenleyicisi kullanılır. İllüstrasyon amacıyla, bu kılavuzdaki komutlar Nano metin editörü.
Tür nano metin düzenleyicisini ve arkasından kabuk komut dosyası adını açmak için terminal komut satırında.
nano ForLoops.sh
Kabuk komut dosyasının adını istediğiniz şeklinde değiştirebilirsiniz. Uzantı, sh, bir kabuk komut dosyası depolayacağından.
Döngüler için Kullanarak Tamsayıları Yazdırma
Bu bölümde, aşağıdaki kodlarda tamsayı değerlerini iyi mi değişik yazdırabileceğiniz gösterilecektir. Kabuk komut dosyasındaki for döngüsünü tamsayıları yazdırmak için kullanmak için, bu kod örneklerinden bazılarını deneyebilirsiniz.
1. Sayı Kümesi Yazdırmak için Döngü Kodu
Editör açıldıktan sonrasında, kodu yazma zamanı.
#!/usr/bin/bash
for i in 1 2 3
do
echo "Current # $i"
done
Çıktı:
Nerede:
- ben = yinelemeli değerleri depolamak için değişken adı
- 1 2 3 = kabuk komut dosyasındaki for döngüsünün yineleme sayısı
- yapmak = belirli bir fiil kümesini gerçekleştirme komutu
- yankı = beraber tanımlanan neticeleri yazdırın
- yapılmış = döngünün sonu
Tuşuna basarak kodu metin düzenleyiciye kaydetme Ctrl + X. Komut dosyasını kaydedin ve komut dosyasından çıkın.
Kodu yürütmeden ilkin kabuk komut dosyasının izinlerini değiştirmeniz gerekir.
Girmek chmod +x arkasından kabuk komut dosyası adınız:
chmod +x Forloops.sh
İzinler verildikten sonrasında, aşağıdakileri yazarak kabuk komut dosyanızdaki for döngüsünü çalıştırın:
./Forloops.sh
Çıktı terminal penceresinde yazdırılır.
2. Sayı Kümesini Yazdırmanın Alternatif Yolu
Kabuk komut dosyasında for döngüsü tanımlamanın alternatif yolları vardır. Döngünün yinelemelerinin başlangıç ve bitiş kıymetini kıvırcık köşeli ayraçlar kullanarak da belirtebilirsiniz.
İşte kod yapısı:
for i in {1..3} # a for loop defines a variable and how many iterations you want to make through a loop
do
echo "Current # $i: Example 2"
done
Döngü üç kez çalışacak ve değerler aşağıdaki şekilde yazdırılacaktır:
3. Adım Değerlerini Kullanarak Döngü Kodu
Yinelemeler içinde sırasız olarak taşımak istiyorsanız, döngünüzdeki adım değerlerini tanımlayabilirsiniz. Belirtilen değere bağlı olarak, çıktının durağan(durgun) bir boşluğu olacaktır.
Örneğin:
for i in {1..10..2}
do
echo "Number = $i"
done
Nerede:
- ben = yinelemeleri depolamak için değişken
- 1..10 = döngüyü çalıştırmak için yineleme sayısı
- 2 = adım kıymeti
- yapmak = çıktıyı yazdırma komutu
- yankı = yazdır komutu
- yapılmış = döngü için exit komutu
Çıktı:
Çıktı, adım deyiminde belirtilen iki farka haizdir.
Döngüler için Kullanarak Karakter Değerlerini Yazdır
Kabuk komut dosyasındaki döngüler için yalnızca tamsayılarla sınırı olan değildir. Bash’te, karakterler ve mısra değerleri içinde etkili bir halde yinelemek için bir for döngüsü kullanabilirsiniz.
1. Dizeler Içinde Döngü
İşte bazı mısra değerleri içinde iyi mi döngüye girebileceğinize dair temel bir örnek (for deyiminde tanımlanır):
for name in John Jack Mary
do
echo "My name is $name"
done
Nerede:
- ad = mısra değerlerini depolamak için değişken
- yapmak = çıktıyı yazdırma komutu
- yankı = yazdır komutu
- yapılmış = döngü için exit komutu
Çıktı:
Bu for döngüsü, yalnızca Üç mısra değerleri için demeç.
2. Koşullarla Dizeler Içinde Döngü
Döngüyü orta yolda sonlandırmak için bazı mantıksal koşulları geçirmek isterseniz ne olur? Bu amaçla, EĞER demeç. IF deyimi döngünün iyi mi çalışacağını ve netice olarak hangi çıktının yazdırılacağını denetler.
for element in Hydrogen Helium Lithium Beryllium; doif (( "$element" == 'Lithium' )); then
break
fi
echo "Element: $element"
done
echo 'All Done!'
Öğenin kıymeti Lityum’a eşittir eşit olur olmaz, döngü biter ve çıktı yazdırılır. Döngü, şart artık karşılanmayana kadar çalışır.
Lityum değerler sıralamasında üçüncü olduğundan, döngü son çıktıyı yazdırmadan ilkin iki yineleme için çalışır Her şey tamam!.
Linux Bash’te Döngüleri Çalıştırma
Döngüler, Linux komut dosyalarının işlevini büyük seviyede artırabilen Linux kabuk yapısının mühim bir parçasıdır.
Yinelenen çıktıları yazdırmanız gerekiyorsa, Bash komut dosyalarındaki döngülerden daha iyi bir şey yoktur. Daha ilkin de belirttiğimiz şeklinde, döngüler neredeyse her programlama dilinde mevcuttur ve Python bir kural dışı değildir. Tekrarı kati ve DRY (Kendinizi Tekrarlamayın) koduna gore yaşayın.