Döngü için BASH Nasıl Kullanılır



Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin

Bash betikleri yazarken en temel püf noktalarından biri, belirli bir görevi birkaç kez otomatik olarak yürütebilmeniz için bir döngü oluşturmayı içerir. Sonunda döngü önceden belirlenmiş bir test durumuna ulaşacak ve aniden çalışmayı durduracaktır. Bunun gibi döngüler, Linux ve macOS üzerinde bash ile Windows 10 içindeki bash kabuğunda ve hatta FreeBSD'deki çeşitli kabuklarda mükemmel şekilde çalışacaktır. Doğal olarak, herhangi bir döngüde istediğiniz komutu yazabilir ve herhangi bir işlemi istediğiniz zaman devam ettirebilirsiniz. Biz son derece basit döngüler yazacak olsak da, bu becerileri istediğiniz türden komut dosyalarını yazmak için kullanabilirsiniz.



Bir komut dosyası yazmaya başlamanın birçok yolu vardır, ancak bu tartışma için, Dash'ta terminal arayarak, KDE, MATE, LX veya Whisker menülerinde üzerine tıklayarak veya üzerine tıklayarak bir komut istemi açtığınızı varsayacağız. Ctrl, Alt ve T tuşlarını aynı anda basılı tutarak. Biz editörler olarak vi / vim ve nano'dan bahsedecek olsak da, hangi düzenleyicinin kullanılacağı konusu oldukça kişiseldir ve kendinizi rahat hissettiğiniz her şeyle çalışabilirsiniz.



Yöntem 1: Kadar Döngü

Belki de bash'daki en temel döngü kadar döngüdür. Ayarladığınız test koşulu gerçekleşene kadar komutları yürütmeye devam edecektir. Until.sh adında var olmayan bir dosyayı açmak için nano veya vi kullandığınızı ve içine yeni metin eklemeye hazır olduğunuzu varsayacağız. İlk başta bunu kolaylaştırmak için terminalinizde 20'ye kadar sayılan bir şey yapacağız.



Aşağıdakileri yazarak başlayın:

#! / bin / bash

n = 0



[$ n -gt 20] tarihine kadar

yapmak

echo $ n

((n ++))

bitti

Nano kullanıyorsanız, Ctrl tuşunu basılı tutup O tuşuna ve son olarak çıkmak için X tuşuna basarak kaydedin. Vi kullanıcıları, escape tuşuna basmak isteyecek ve ardından kaydetmek ve çıkmak için wq yazacaktır.

Sonraki tür chmod + x untilLoop çalıştırılabilir yapma komut isteminde şunu yazın: ./untilLoop çalıştırmak için. Bir kez çalıştığında, döngü n değişkeni 20'ye ulaşana kadar yeni sayıları terminalinizde yazdırmaya devam edecektir.

Bu arada, ilk satır, ortamınıza bu komut dosyalarıyla çalışırken hangi kabuğun yükleneceğini söyler. Bazı programcılar betiğinizin belirli POSIX standartlarına uygun olmasını sağlamak için her zaman #! / Bin / sh kullanılmasını önerirler, ancak bu basit betiklerin modern sistemlerin büyük çoğunluğunda herhangi bir problemi olmamalıdır.

Yöntem 2: Döngü için

Bir for döngüsü, belirli bir listedeki her öğeye bir göz atar ve ardından bu listedeki belirli bir komut kümesini gerçekleştirir. Bazı işletim sistemi adlarını yazdıran bir tane yapacağız, ancak isterseniz bununla her şeyi yapabileceğinizi tekrar unutmayın.

Ya yazın nano forLoop veya Dönüyoruz komut isteminde ve aşağıdaki komut dosyasını girmeye başlayın. Vi kullanıcılarının bunu yapmadan önce ekleme moduna girmeleri gerekecektir.

#! / bin / bash

unices = ’GNU / Linux FreeBSD OpenBSD NetBSD Solaris OpenIndiana Darwin HP-UX Minix’

$ unices cinsinden unix için

yapmak

echo $ unix

bitti

Komutu vermeden önce nano'da Ctrl + O ve ardından Ctrl + X yöntemini veya Esc sonra: wq yöntemini vi kullanarak dosyayı tekrar kaydedin. chmod + x forLoop çalıştırılabilir hale getirmek için. Sahip olduğunuzda, yazarak çalıştırın ./döngü için anında. For döngüsü, echo komutunu sırayla unices değişkenindeki her öğe üzerinde çalışmaya zorlar. Bir kez daha, bu listeyi herhangi bir argümanla değiştirebilir ve uzun süreçleri otomatikleştirmek için echo'yu herhangi bir komutla değiştirebilirsiniz.

Yöntem 3: while Döngüsü

Nano, vi veya kullanmak istediğiniz diğer düzenleyicileri kullanarak whileLoop adlı üçüncü bir dosyayı düzenlemeye başlayın. Grafiksel bir metin düzenleyici kullanmayı tercih ederseniz, dosyayı komut isteminin içinden çalıştığınız dizine koyduğunuzdan emin olduğunuz sürece bunu bu projelerin herhangi biriyle de yapabilirsiniz. .

Bu dosyanın içine şu satırları eklemek isteyeceksiniz:

#! / bin / bash

n = 0

süre [$ n-20]

yapmak

echo $ n

((n ++))

bitti

Dosyayı, diğerlerini kaydettiğiniz şekilde kaydedin ve ardından metin düzenleyicinizden çıkın. Çıktıktan sonra komutu verin chmod + x whileLoop çalıştırmanıza ve sonra çalıştırmanıza izin vermek için ./döngü sırasında çalıştırmak için. İlk yöntemdeki untilLoop komut dosyasından çıkan çıktıların aynısını, büyük olasılıkla bir saniyeden fazla 0'dan 20'ye kadar saydığını göreceksiniz.

Bu, döngülerle bu şekilde çalışırken bir şeyler yapmanın birden fazla yolu olduğu gerçeğinin mükemmel bir kanıtıdır. Teknik olarak bunu yapmanın yanlış bir yolu olmasa da, muhtemelen komut dosyalarınızı C programlama dilinin işleri yapma şekline daha yakın yazmanız gerektiğini iddia eden senaryo yazarlarıyla karşılaşacaksınız veya alternatif olarak başkaları bunu yapmamanızı önerebilir. Açıkçası, bir sorunu çözmenin muhtemelen birçok doğru yolu vardır.

Pratik yaptıktan sonra komut dosyalarınızı silmekten çekinmeyin.

3 dakika okundu