10 Contoh Gelung Bash yang Hebat dan Hebat

10 Contoh Gelung Bash Yang Hebat Dan Hebat



Dalam bahasa pengaturcaraan, terdapat terutamanya tiga jenis gelung (untuk, sementara, dan sehingga). Ketiga-tiga jenis gelung adalah penting dalam cara yang berbeza. Tidak banyak perbezaan antara gelung sementara dan sehingga, tetapi untuk gelung berfungsi agak berbeza daripada kedua-dua ini. Itulah sebabnya anda boleh menggunakan gelung ini untuk membuat skrip interaktif sebagai pengguna bash.

Jadi mempelajari contoh bash boleh membantu anda meningkatkan kemahiran anda dalam mencipta skrip. Jadi dalam tutorial ini, kami akan menyertakan 10 contoh gelung bash yang hebat dan hebat yang anda boleh cuba untuk meningkatkan kemahiran skrip anda.







10 Contoh Gelung Bash yang Hebat dan Hebat

Dalam bahagian ini, kami akan menerangkan pelbagai contoh dan pendekatan yang telah kami gunakan dalam gelung.



Perintah Seq Dengan Gelung dalam Bash

Anda boleh menggunakan arahan seq dalam gelung for untuk mencipta urutan nombor. Sebagai contoh, anda mempunyai skrip bash 'File.sh' yang mengandungi kod berikut:



#!/bin/bash
untuk A dalam $ ( seq 5 dua 25 )
buat
bergema 'bilangan daripada $A adalah'
selesai





Anda akan mendapat hasil berikut selepas melaksanakan skrip di terminal:

. / file.sh




Namakan semula Fail Menggunakan Gelung

Menggunakan skrip bash, anda boleh menggunakan gelung for untuk menamakan semula berbilang fail. Contohnya, anda mempunyai berbilang fail .txt dan ingin menambah tarikh semasa dengan nama. Jadi inilah contoh skrip yang boleh anda gunakan:

#!/bin/bash
untuk A dalam $ ( ls * .txt ) ; buat
mv $A ( nama asas $A .txt ) _$ ( Tarikh % d % m % ) .txt
selesai


Kini, anda boleh menjalankan skrip dan ia akan menukar nama semua fail .txt dengan menambahkan tarikh semasa:

. / MyFile.sh



Begitu juga, anda boleh menukar sambungan fail melalui satu skrip. Jadi mari tukar sambungan .txt kepada .sh melalui skrip berikut:

#!/bin/bash
untuk fail dalam * .txt; buat
mv -- ' $fail ' '{file%.txt}.sh'
selesai

Selepas melaksanakan skrip dalam terminal, anda akan mendapat fail .sh dan bukannya .txt:

. / MyFile.sh


Infinite For Loop dalam Bash

Apabila tiada syarat penamatan ditentukan dalam gelung, ia dipanggil gelung tak terhingga. Dalam contoh gelung Bash ini, kita akan melihat gelung tak terhingga untuk dalam bash. Gelung tak terhingga berikut ditakrifkan oleh koma bertitik dua ( ; ; ) dan tidak mengandungi sebarang bahagian awal, tindakan atau penamatan.

Skrip di bawah akan diteruskan sehingga anda menekan Ctrl+C atau taip 'berhenti' sebagai input. Skrip ini akan mencetak setiap nombor dari 10 hingga 50 yang diberikan sebagai input. Jika tidak, ia akan mencetak 'nombor di luar julat.'

#!/bin/bash
#gelung tak terhingga
untuk ( ( ; ; ) )
buat
bergema 'Masukkan nombor antara 10 hingga 50'
membaca n
jika [ $n == 'berhenti' ]
kemudian
bergema 'ditamatkan'
keluar 0
jadilah
jika ( ( $n < 10 || $n > lima puluh ) )
kemudian
bergema 'Nombor di luar julat'
lain
bergema 'Nombornya ialah $n '
jadilah
selesai

Kami memberikan 45 dan 23 input yang sah pada skrip di atas. Selepas itu, kami mencetak 2 sebagai input yang memberitahu dalam output bahawa 'nombor itu berada di luar julat.' Selepas itu, untuk menutup skrip, kami menaip quit sebagai input. Di sini anda juga boleh menekan Ctrl+C untuk keluar dari gelung tak terhingga.

Tiga Gelung Ungkapan dalam Bash

Ia diketahui daripada nama gelung tiga ungkapan bahawa ia terdiri daripada tiga ungkapan, juga dipanggil ungkapan kawalan. Ungkapan pertama (EXP1) ialah pemula, ungkapan kedua (EXP2) ialah ujian atau keadaan gelung, dan ungkapan ketiga (EXP3) ialah ungkapan/langkah mengira. Mari kita jalankan gelung tiga ungkapan dalam bash:

#!/bin/bash
untuk ( ( n = 5 ; n > = 1 ; n-- ) )
buat
bergema 'Buku $n '
selesai

Semasa menjalankan skrip di atas, anda akan mendapat output berikut.

Gelung Dengan Pelbagai Syarat

Kami telah menggunakan gelung sehingga dengan berbilang syarat dalam contoh gelung bash berikut. Dalam skrip ini, kami mengambil 'm' dan 'n,' dua pembolehubah yang nilainya adalah 20 dan 10, masing-masing, dan mengekalkan had 15. Di sini kami meletakkan syarat 'm' dan 'n' bersama-sama dalam gelung, di mana gelung akan berjalan sehingga nilai 'm' kurang daripada had dan 'n' lebih daripada had.

#!/bin/bash
had = lima belas
m = dua puluh
n = 10
sehingga [ [ $m -lt $had || $n -gt $had ] ] ;
buat
bergema 'Jika M = $m maka N = $n '
( ( m-- ) )
( ( n++ ) )
selesai

Anda boleh melihat bahawa menjalankan skrip di atas akan berjalan sehingga nilai 'm' dan 'n' mencapai tahap yang sama.

Baca Fail dalam Bash

Dalam bash, anda boleh membaca kandungan fail dalam beberapa cara. Dalam contoh gelung bash ini, kami akan membaca kandungan fail melalui nama fail. Kita boleh menggunakan skrip berikut untuk membaca fail dalam bash:

#!/bin/bash
bergema 'Kandungan fail yang dimasukkan ialah:'
sementara
membaca barisan
buat
bergema $line
selesai < ~Dokumen / Linuxhint.txt

Selepas menjalankan skrip di atas, anda boleh membaca kandungan penuh fail yang dimasukkan.

Menulis ke Fail

Anda boleh menggunakan gelung dalam skrip untuk mengedit fail terus dari terminal. Contohnya, jika kami mempunyai fail txt 'Example.txt', dan kami ingin menambah beberapa maklumat, maka kami boleh menggunakan skrip berikut:


Jika anda menjalankan skrip di atas, ia akan meminta anda memasukkan butiran:


Sebaik sahaja anda memasukkan butiran, sila CTRL + D untuk menyimpan fail dan CTRL + Z untuk menyelesaikan proses dengan jayanya.

Putus dan Teruskan Gelung Penyata dalam Bash

Dalam bash, anda boleh meneruskan pernyataan gelung anda selepas rehat. Pernyataan putus keluar dari gelung dan kemudian memberikan kawalan kepada pernyataan yang diberikan seterusnya. Lelaran nombor dua bermula selepas lelaran semasa dilangkau dengan pernyataan continue yang sama.

#!/bin/bash
pada satu = 16
sehingga salah
buat
( ( pada satu-- ) )
jika [ [ $num -persamaan 13 ] ]
kemudian
teruskan
elif [ [ $num - yang 4 ] ]
kemudian
rehat
jadilah
bergema 'LinuxHint= $num '
selesai

Dalam skrip bash berikut, anda boleh melihat bahawa apabila 'num' adalah sama dengan 13, ia melangkau seluruh badan gelung dan melompat ke lelaran seterusnya. Begitu juga, gelung akan pecah apabila 'num' kurang daripada atau sama dengan 4.


Skrip di atas menunjukkan bahawa gelung bermula pada 15, putus pada 13, dan berterusan sehingga 5.

Mengira Purata dalam Bash

Anda boleh mengira purata dengan menjalankan skrip dalam gelung bash. Dalam hal ini, pengguna boleh mengira purata nombor dalam julat yang ditentukan. Skrip berikut mengira purata input yang diberikan oleh pengguna.

#!/bin/bash
markah = '0'
PURATA = '0'
JUMLAH = '500'
PADA SATU = '5'
sementara benar ; buat
bergema -n 'Masukkan markah anda atau tekan 'q' untuk membatalkan ' ; membaca markah;
jika ( ( ' $marks ' < '0' ) ) || ( ( ' $marks ' > '100' ) ) ; kemudian
bergema 'Sila masukkan markah anda'
elif [ ' $marks ' == 'q' ] ; kemudian
bergema ' markah purata ialah: $AVERAGE %'
rehat
lain
JUMLAH =$ [ $SUM + $marks ]
PADA SATU =$ [ $NUM + 1 ]
PURATA =$ [ $SUM / $NUM ]
jadilah
selesai

Jika input tidak berada dalam julat, mesej dicetak bahawa 'Sila masukkan markah anda.' Apabila pengguna menekan 'q' selepas memasukkan semua markah, skrip mengira purata anggaran semua nombor yang dimasukkan.

Apabila skrip di atas dijalankan, output anda akan menjadi seperti ini.

Baca Argumen Baris Perintah dalam Bash

Dalam bash, anda boleh membaca argumen baris arahan tunggal menggunakan gelung. Skrip mencetak nilai argumen yang diformat. Kami menjalankan argumen baris arahan dalam bash menggunakan gelung sementara dalam skrip berikut. Melalui ini, anda akan mencetak nilai yang melepasi pilihan sah nilai argumen dengan bantuan satu arahan.

#!/bin/bash
sementara getopts N:F:M: OPT
buat
kes ' ${OPT} '
dalam
N ) nama = ${OPTARG} ;;
F ) nama bapa = ${OPTARG} ;;
M ) nama ibu = ${OPTARG} ;;
* ) bergema 'Tidak sah'
keluar 1 ;;
esac
selesai
printf 'Nama: $nama \n Nama bapa: $nama bapa \n Nama ibu: $nama ibu \n '

Oleh itu, anda boleh mencetak nilai argumen yang diformat ke output dengan menjalankan skrip di atas dalam bash.

Mengakhiri

Jadi ini adalah maklumat ringkas tentang 10 contoh gelung bash yang hebat dan hebat yang boleh anda pelajari. Kami telah menggunakan pelbagai jenis gelung untuk mencipta skrip interaktif dengan mudah. Selain itu, kami juga menerangkan pendekatan asas yang digunakan dalam contoh di atas. Jika anda mempunyai butiran yang mendalam tentang gelung dalam bash, sila lawati tapak web rasmi kami untuk mengetahui lebih lanjut.