Cara Menggunakan BASH untuk Gelung



Cuba Instrumen Kami Untuk Menghapuskan Masalah

Salah satu trik yang paling asas ketika mengarang skrip bash melibatkan membuat gelung sehingga anda dapat menjalankan tugas tertentu secara otomatis beberapa kali. Akhirnya, gelung akan mencapai keadaan ujian yang telah ditentukan dan tiba-tiba berhenti berfungsi. Gelung seperti ini akan berfungsi dengan sempurna dalam bash di Linux dan macOS serta shell bash di dalam Windows 10 dan juga pelbagai shell di FreeBSD. Secara semula jadi, anda boleh menulis perintah apa sahaja yang anda mahukan di mana-mana gelung dan meneruskan proses apa sahaja mengikut masa yang anda mahukan. Walaupun kami akan menulis beberapa gelung yang sangat mudah, anda boleh menggunakan kemahiran ini untuk mengarang apa sahaja jenis skrip yang anda mahukan.



Terdapat banyak cara untuk mula menulis skrip, tetapi untuk perbincangan ini kita akan menganggap bahawa anda telah membuka command prompt sama ada dengan mencari terminal di Dash, dengan mengkliknya di menu KDE, MATE, LX atau Whisker atau dengan menahan Ctrl, Alt dan T pada masa yang sama. Walaupun kita akan membincangkan vi / vim dan nano sebagai penyunting, masalah editor mana yang harus digunakan cukup peribadi dan anda boleh bekerja dengan apa sahaja yang anda rasa selesa.



Kaedah 1: The Loop sehingga

Mungkin gelung paling asas dalam bash adalah loop hingga. Ini akan terus melaksanakan perintah sehingga keadaan ujian yang anda tetapkan menjadi kenyataan. Kami akan menganggap anda telah menggunakan nano atau vi untuk membuka fail yang tidak ada yang disebut sampai.sh dan bersedia memasukkan teks segar ke dalamnya. Kami hanya akan membuat sesuatu yang berjumlah 20 di terminal anda untuk menjadikannya mudah pada mulanya.



Mulakan dengan menaip perkara berikut:

#! / bin / bash

n = 0



sehingga [$ n -gt 20]

buat

gema $ n

((n ++))

selesai

Sekiranya anda menggunakan nano, simpan dengan menahan Ctrl dan kemudian tekan O dan akhirnya X untuk keluar. Pengguna vi ingin menolak melarikan diri kemudian ketik: wq untuk menyimpan dan berhenti.

Jenis seterusnya chmod + x sehinggaLoop pada arahan untuk membuatnya dapat dilaksanakan dan kemudian taip ./untilLoop untuk menjalankannya. Setelah berjalan, gelung akan terus mencetak nombor baru di terminal anda sehingga pemboleh ubah n mencapai 20.

Ngomong-ngomong, baris pertama memberi tahu lingkungan anda shell mana yang akan dimuat ketika bekerja dengan skrip ini. Sebilangan pengaturcara menasihatkan hanya menggunakan #! / Bin / sh untuk memastikan bahawa skrip anda mematuhi piawaian POSIX tertentu, tetapi skrip sederhana ini tidak seharusnya mempunyai masalah untuk dijalankan pada kebanyakan sistem moden.

Kaedah 2: The untuk Gelung

A untuk gelung melihat setiap item dalam senarai yang diberikan dan kemudian melakukan sekumpulan perintah tertentu dalam senarai itu. Kami akan membuat satu yang mencetak beberapa nama sistem operasi tetapi perlu diingat lagi bahawa anda boleh melakukan apa-apa dengan ini jika anda mahu.

Taipkan sama ada nano forLoop atau kami untukLoop pada command prompt dan mula memasukkan skrip berikut ini. Pengguna vi perlu memasuki mod sisipan sebelum mereka melakukannya.

#! / bin / bash

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

untuk unix dalam $ unices

buat

gema $ unix

selesai

Simpan fail sekali lagi menggunakan kaedah Ctrl + O dan kemudian Ctrl + X di nano atau kaedah Esc kemudian: kaedah wq di vi sebelum mengeluarkan arahan chmod + x forLoop untuk menjadikannya boleh dilaksanakan. Setelah selesai, jalankan dengan menaip ./forLoop pada arahan. Gelung untuk memaksa perintah echo berfungsi pada setiap item dalam pemboleh ubah unices secara bergantian. Anda boleh, sekali lagi, mengganti senarai itu dengan argumen apa pun dan mengganti gema dengan perintah apa pun untuk mengautomasikan proses yang panjang.

Kaedah 3: The Loop sementara

Mula mengedit fail ketiga yang dipanggil whileLoop menggunakan nano, vi atau mana-mana editor lain yang ingin anda gunakan. Sekiranya anda lebih suka menggunakan penyunting teks grafik, anda sebenarnya boleh melakukannya juga dengan mana-mana projek ini selagi anda memastikan meletakkan fail di direktori yang sama dengan yang anda kerjakan dari dalam command prompt .

Di dalam fail ini, anda ingin menambahkan baris:

#! / bin / bash

n = 0

sementara [$ n -le 20]

buat

gema $ n

((n ++))

selesai

Simpan fail dengan cara yang sama seperti yang anda simpan yang lain dan kemudian keluar dari penyunting teks anda. Setelah keluar, kemudian keluarkan arahannya chmod + x whileLoop untuk membolehkan anda melaksanakannya dan kemudian jalankan ./ SementaraLoop untuk menjalankannya. Anda akan melihat output yang sama yang keluar dari skrip tillLoop dari kaedah pertama kerana pengiraannya dari 0 hingga 20 lebih dari satu saat.

Ini adalah demonstrasi yang sangat baik dari fakta bahawa terdapat lebih daripada satu cara untuk melakukan sesuatu setiap kali anda bekerja dengan gelung dengan cara ini. Walaupun secara teknikal tidak ada cara yang salah untuk melakukannya, anda mungkin akan menemui penulis skrip yang mendakwa bahawa anda harus menulis skrip anda lebih dekat dengan cara bahasa pengaturcaraan C melakukan sesuatu atau sebagai alternatif, yang lain mungkin mencadangkan agar anda tidak melakukan ini. Sejujurnya, mungkin ada banyak cara yang betul untuk menyelesaikan masalah.

Jangan hapus skrip anda setelah anda selesai berlatih dengannya.

3 minit membaca