10 Harika ve Müthiş Bash Döngü Örneği

10 Harika Ve Muthis Bash Dongu Ornegi



Programlama dilinde, esas olarak üç tür döngü vardır (for, while ve till). Her üç döngü türü de farklı şekillerde önemlidir. While ve till döngüleri arasında pek bir fark yoktur, ancak for döngüsü bu ikisinden oldukça farklı çalışır. Bu nedenle, bir bash kullanıcısı olarak etkileşimli betikler oluşturmak için bu döngüleri kullanabilirsiniz.

Bash örneklerini öğrenmek, betik oluşturma becerilerinizi geliştirmenize yardımcı olabilir. Bu eğitimde, komut dosyası yazma becerilerinizi geliştirmek için deneyebileceğiniz 10 harika ve harika bash döngüsü örneği ekleyeceğiz.







10 Harika ve Müthiş Bash Döngü Örneği

Bu bölümde çeşitli örnekleri ve döngülerde kullandığımız yaklaşımları açıklayacağız.



Bash'te Döngülü Seq Komutu

Sayı dizisini oluşturmak için for döngüsünde seq komutunu kullanabilirsiniz. Örneğin, aşağıdaki kodu içeren bir 'File.sh' bash betiğiniz var:



#!/bin/bash
için A içinde $ ( sıra 5 iki 25 )
yapmak
Eko 'Sayıları $A '
tamamlamak





Komut dosyasını terminalde çalıştırdıktan sonra aşağıdaki sonucu alacaksınız:

. / dosya.sh




Döngü Kullanarak Dosyaları Yeniden Adlandırma

Bir bash betiği kullanarak, birden çok dosyayı yeniden adlandırmak için for döngülerini kullanabilirsiniz. Örneğin, birden çok .txt dosyanız var ve geçerli tarihi adla birlikte eklemek istiyorsunuz. İşte kullanabileceğiniz örnek komut dosyası:

#!/bin/bash
için A içinde $ ( ls * .Txt ) ; yapmak
mv $A ( temel isim $A .Txt ) _$ ( tarih % d % m % ) .Txt
tamamlamak


Artık komut dosyasını çalıştırabilirsiniz ve geçerli tarihi ekleyerek tüm .txt dosyalarının adını değiştirir:

. / MyFile.sh



Benzer şekilde, bir dosyanın uzantılarını tek bir komut dosyası aracılığıyla değiştirebilirsiniz. O halde .txt uzantısını aşağıdaki script ile .sh olarak değiştirelim:

#!/bin/bash
için dosya içinde * .Txt; yapmak
mv -- ' $dosya ' '{dosya%.txt}.sh'
tamamlamak

Komut dosyasını terminalde yürüttükten sonra, .txt dosyaları yerine .sh dosyalarını alırsınız:

. / MyFile.sh


Bash'te Sonsuz For Döngüsü

Döngüde sonlandırma koşulu tanımlanmadığında buna sonsuz döngü denir. Bu Bash döngüsü örneğinde, bash'taki sonsuz for döngüsüne bakacağız. Aşağıdaki sonsuz for döngüsü, çift noktalı virgülle (; ;) tanımlanır ve herhangi bir başlangıç, eylem veya sonlandırma bölümü içermez.

Aşağıdaki komut dosyası, siz Ctrl+C tuşlarına basana veya giriş olarak “quit” yazana kadar devam edecektir. Bu komut dosyası, girdi olarak verilen 10'dan 50'ye kadar her sayıyı yazdıracaktır. Aksi takdirde, 'sayı aralığın dışında' yazdırır.

#!/bin/bash
#sonsuz döngü
için ( ( ; ; ) )
yapmak
Eko '10 ile 50 arasında bir sayı giriniz'
okuman n
eğer [ $n == 'çıkış yapmak' ]
sonra
Eko 'sonlandırılmış'
çıkış 0
olmak
eğer ( ( $n < 10 || $n > elli ) )
sonra
Eko 'Numara kapsam dışında'
başka
Eko 'Sayı $n '
olmak
tamamlamak

Yukarıdaki betikte 45 ve 23 geçerli girdi verdik. Bundan sonra, çıktıda “sayı aralığın dışında” olduğunu söyleyen girdi olarak 2 yazdırıyoruz. Bundan sonra betiği kapatmak için girdi olarak çık yazıyoruz. Burada sonsuz döngüden çıkmak için Ctrl+C tuşlarına da basabilirsiniz.

Bash'te Üç İfade Döngüsü

Üç ifade döngüsünün adından, kontrol ifadeleri olarak da adlandırılan üç ifadeyi içerdiği bilinmektedir. İlk ifade (EXP1) başlatıcıdır, ikinci ifade (EXP2) döngü testi veya koşuludur ve üçüncü ifade (EXP3) sayma ifadesi/adımıdır. Bash'ta üç ifadeli bir döngü çalıştıralım:

#!/bin/bash
için ( ( n = 5 ; n > = 1 ; n-- ) )
yapmak
Eko 'Kitap $n '
tamamlamak

Yukarıdaki betiği çalıştırdığınızda, aşağıdaki çıktıyı alacaksınız.

Birden Çok Koşullu Döngü

Aşağıdaki bash döngüsü örneğinde, till döngüsünü birden fazla koşulla kullandık. Bu betikte sırasıyla değerleri 20 ve 10 olan iki değişken olan “m” ve “n” aldık ve 15 sınırını koruduk. Burada “m” ve “n” koşullarını döngüde bir araya getiriyoruz, döngü, “m” değeri limitin altında ve “n” limitin üzerinde olana kadar devam eder.

#!/bin/bash
limit = onbeş
m = yirmi
n = 10
a kadar [ [ milyon $ -lt $ limiti || $n -gt $ limiti ] ] ;
yapmak
Eko 'Eğer M = milyon $ o zaman N = $n '
( ( m-- ) )
( ( n++ ) )
tamamlamak

Yukarıdaki betiği çalıştırmanın “m” ve “n” değerleri aynı seviyeye gelene kadar çalışacağını görebilirsiniz.

Dosyayı Bash'te Oku

Bash'ta bir dosyanın içeriğini çeşitli şekillerde okuyabilirsiniz. Bu bash döngüsü örneğinde, dosyanın içeriğini dosya adı üzerinden okuyacağız. Dosyayı bash'ta okumak için aşağıdaki betiği kullanabiliriz:

#!/bin/bash
Eko 'Girilen dosyanın içeriği:'
süre
okuman astar
yapmak
Eko $ hattı
tamamlamak < ~Belgeler / Linuxhint.txt

Yukarıdaki betiği çalıştırdıktan sonra girilen dosyanın tüm içeriğini okuyabilirsiniz.

Bir Dosyaya Yazmak

Bir dosyayı doğrudan terminalden düzenlemek için komut dosyasındaki döngüleri kullanabilirsiniz. Örneğin, 'Example.txt' adlı bir txt dosyamız varsa ve bazı bilgileri eklemek istiyorsak, aşağıdaki komut dosyasını kullanabiliriz:


Yukarıdaki betiği çalıştırırsanız, sizden ayrıntıları girmenizi isteyecektir:


Ayrıntıları girdikten sonra lütfen dosyayı kaydetmek için CTRL + D ve işlemi başarıyla tamamlamak için CTRL + Z yapın.

Bash'te İfade Döngüsünü Kesme ve Devam Etme

Bash'ta, aradan sonra döngü ifadenize devam edebilirsiniz. Break ifadesi döngüden çıkar ve ardından kontrolü bir sonraki verilen ifadeye geçirir. İkinci yineleme, geçerli yineleme aynı devam ifadesiyle atlandıktan sonra başlar.

#!/bin/bash
birde = 16
a kadar yanlış
yapmak
( ( birde-- ) )
eğer [ [ $num -eq 13 ] ]
sonra
devam et
elif [ [ $num - 4 ] ]
sonra
kırmak
olmak
Eko 'Linux İpucu= $num '
tamamlamak

Aşağıdaki bash betiğinde, “num” 13'e eşit olduğunda döngü gövdesinin geri kalanını atladığını ve bir sonraki yinelemeye atladığını görebilirsiniz. Benzer şekilde, 'num' 4'ten küçük veya eşit olduğunda döngü bozulur.


Yukarıdaki komut dosyası, döngünün 15'te başladığını, 13'te kesildiğini ve 5'e kadar devam ettiğini gösterir.

Bash'te Ortalama Hesaplama

Komut dosyasını bir bash döngüsünde çalıştırarak ortalamayı hesaplayabilirsiniz. Bunda, kullanıcı tanımlanmış bir aralıktaki sayıların ortalamasını hesaplayabilir. Aşağıdaki komut dosyası, kullanıcı tarafından sağlanan girdilerin ortalamasını hesaplar.

#!/bin/bash
işaretler = '0'
ORTALAMA = '0'
TOPLAM = '500'
BİRDE = '5'
süre doğru ; yapmak
Eko -n 'İşaretlerinizi girin veya iptal etmek için 'q'ya basın' ; okuman işaretler;
eğer ( ( ' $ işaretleri ' < '0' ) ) || ( ( ' $ işaretleri ' > '100' ) ) ; sonra
Eko 'Lütfen puanlarınızı giriniz'
elif [ ' $ işaretleri ' == 'q' ] ; sonra
Eko 'ortalama notlar: $ORTALAMA %'
kırmak
başka
TOPLAM = $ [ $SUM + $ işaretleri ]
BİRDE = $ [ $NUM + 1 ]
ORTALAMA = $ [ $SUM / $NUM ]
olmak
tamamlamak

Giriş aralığın içinde değilse, 'Lütfen işaretlerinizi girin' şeklinde bir mesaj yazdırılır. Kullanıcı tüm işaretleri girdikten sonra “q” tuşuna bastığında, komut dosyası girilen tüm sayıların yaklaşık ortalamasını hesaplar.

Yukarıdaki komut dosyası çalıştırıldığında, çıktınız buna benzer bir şey olacaktır.

Bash'te Komut Satırı Argümanlarını Okuyun

Bash'ta, döngüleri kullanarak tek komut satırı argümanlarını okuyabilirsiniz. Betik, biçimlendirilmiş bağımsız değişken değerlerini yazdırır. Aşağıdaki betikte bir while döngüsü kullanarak bash'ta komut satırı bağımsız değişkenlerini çalıştırıyoruz. Bu sayede argüman değeri geçerli seçeneğinden geçen değeri tek bir komut yardımıyla yazdıracaksınız.

#!/bin/bash
süre getopts N:K:E: SEÇ
yapmak
dava ' ${OPT} '
içinde
N ) isim = ${OPTARG} ;;
F ) baba adı = ${OPTARG} ;;
M ) anne adı = ${OPTARG} ;;
* ) Eko 'Geçersiz'
çıkış 1 ;;
esac
tamamlamak
printf 'İsim: $isim \n Baba adı: $baba adı \n Anne adı: $anne adı \n '

Böylece yukarıdaki betiği bir bash içerisinde çalıştırarak formatlanan argüman değerlerini çıktıya yazdırabilirsiniz.

Sarma

İşte bu, öğrenebileceğiniz 10 harika ve harika bash döngüsü örneği hakkında kısa bilgiydi. Etkileşimli komut dosyasını kolayca oluşturmak için farklı türde döngüler kullandık. Ayrıca yukarıdaki örneklerde kullanılan temel yaklaşımları da açıkladık. Bash'teki döngüler hakkında derinlemesine ayrıntılara sahipseniz, daha fazlasını öğrenmek için lütfen resmi web sitemizi ziyaret edin.