Shell Scripting - For Loops
Isi kandungan:
- Standard Bash For Loop
- Loop over strings
- Gelung dari julat nombor
- Gelung ke atas unsur array
- C-gaya Bash untuk gelung
- Teruskan dan Teruskan Kenyataan
- Kenyataan Cuti
- Teruskan Kenyataan
- Bash For Loop Examples
- Menamakan semula fail dengan ruang dalam nama fail
- Menukar pelanjutan fail
- Kesimpulannya
Gelung adalah salah satu konsep dasar bahasa pengaturcaraan. Gelung berguna apabila anda ingin menjalankan beberapa siri arahan berulang kali sehingga keadaan tertentu tercapai.
Dalam bahasa skrip seperti Bash, gelung berguna untuk mengautomasikan tugas berulang.
Terdapat tiga asas gelung yang dibina dalam skrip Bash, untuk gelung, sementara gelung, dan sehingga gelung.
Dalam tutorial ini, kami akan merangkumi asas bagi gelung dalam Bash. Kami juga akan menunjukkan kepada anda cara menggunakan rehat dan meneruskan pernyataan untuk mengubah aliran gelung.
Standard Bash For Loop
Gelung untuk melelong ke atas senarai item dan melaksanakan set perintah yang diberikan.
Bash untuk gelung mengambil bentuk berikut:
for item in do done
Senarai ini boleh menjadi satu siri rentetan yang dipisahkan oleh ruang, pelbagai nombor, output perintah, array, dan sebagainya.
Loop over strings
Dalam contoh di bawah gelung akan melelar ke atas setiap item dalam senarai rentetan, dan
element
pembolehubah akan ditetapkan pada item semasa.
for element in Hydrogen Helium Lithium Beryllium do echo "Element: $element" done
Gelung akan menghasilkan output berikut:
Element: Hydrogen Element: Helium Element: Lithium Element: Beryllium
Gelung dari julat nombor
Anda boleh menggunakan ungkapan urutan untuk menentukan julat nombor atau aksara dengan menentukan permulaan dan titik akhir julat. Ungkapan urutan mengambil bentuk berikut:
{START..END}
Dalam contoh di bawah gelung akan berulang melalui semua nombor dari 0 hingga 3.
for i in {0..3} do echo "Number: $i" done
Number: 0 Number: 1 Number: 2 Number: 3
Bermula dari Bash 4, juga mungkin untuk menentukan kenaikan apabila menggunakan julat. Ungkapan ini mengambil bentuk berikut:
{START..END..INCREMENT}
for i in {0..20..5} do echo "Number: $i" done
Number: 0 Number: 5 Number: 10 Number: 15 Number: 20
Gelung ke atas unsur array
Anda juga boleh menggunakan gelung untuk melaraskan pelbagai elemen:
Dalam contoh di bawah, kita menentukan satu
BOOKS
susun atur dan meleraikan setiap elemen array.
BOOKS=('In Search of Lost Time' 'Don Quixote' 'Ulysses' 'The Great Gatsby') for book in "${BOOKS}"; do echo "Book: $book" done
Book: In Search of Lost Time Book: Don Quixote Book: Ulysses Book: The Great Gatsby
C-gaya Bash untuk gelung
Sintaks gaya C untuk gelung mengambil bentuk berikut:
for ((INITIALIZATION; TEST; STEP)) do done
Bahagian
INITIALIZATION
dilaksanakan hanya sekali apabila gelung bermula. Kemudian, bahagian
TEST
dinilai. Jika palsu, gelung untuk ditamatkan. Sekiranya
TEST
itu benar, arahan di dalam badan untuk gelung dilaksanakan dan bahagian
STEP
dikemas kini.
Dalam kod berikut, bintang gelung dengan menginisialisasi
i = 0
, maka sebelum setiap pemeriksaan mengulang jika
i ≤ 10
. Jika benar ia mencetak nilai semasa
i
dan
i
dengan 1 (
i++
) sebaliknya gelung tamat.
for ((i = 0; i <= 1000; i++)); do echo "Counter: $i" done
Gelung akan bergerak 1001 kali dan menghasilkan output berikut:
Counter: 0 Counter: 1 Counter: 2… Counter: 998 Counter: 999 Counter: 1000
Teruskan dan Teruskan Kenyataan
Istirahat dan meneruskan kenyataan boleh digunakan untuk mengawal pelaksanaan gelung.
Kenyataan Cuti
Kenyataan rehat mengakhiri gelung semasa dan melewati kawalan program kepada pernyataan yang mengikuti kenyataan yang ditamatkan. Ia biasanya digunakan untuk menamatkan gelung apabila keadaan tertentu dipenuhi.
Dalam contoh berikut, kami menggunakan pernyataan jika untuk menamatkan pelaksanaan gelung sebaik item berulang sekarang bersamaan dengan 'Lithium'.
for element in Hydrogen Helium Lithium Beryllium; do if]; then break fi echo "Element: $element" done echo 'All Done!'
Element: Hydrogen Element: Helium All Done!
Teruskan Kenyataan
Kenyataan yang berterusan keluar dari lelaran semasa gelung dan lulus kawalan program ke lelaran seterusnya gelung.
Dalam contoh berikut, kita sedang melayang melalui pelbagai nombor dan apabila item berulang sekarang bersamaan dengan '2', kenyataan berterusan akan menyebabkan pelaksanaan akan kembali ke permulaan gelung dan untuk meneruskan dengan lelaran seterusnya.
for i in {1..5}; do if]; then continue fi echo "Number: $i" done
Number: 1 Number: 3 Number: 4 Number: 5
Bash For Loop Examples
Menamakan semula fail dengan ruang dalam nama fail
Contoh berikut menunjukkan bagaimana untuk menggunakan Bash untuk gelung untuk menamakan semula semua fail dalam direktori semasa dengan ruang dalam nama-nya dengan menggantikan ruang kepada garis bawah.
for file in *\ *; do mv "$file" "${file// /_}" done
Mari kita memecahkan baris kod demi baris:
- Baris pertama mencipta gelung dan meleret melalui senarai semua fail dengan ruang dalam namanya. Ungkapan
*\ *
mencipta senarai. Baris kedua terpakai untuk setiap item senarai dan memindahkan fail ke yang baru menggantikan ruang dengan underscore (_
). Bahagian${file// /_}
menggunakan pengembangan parameter shell untuk menggantikan corak dalam parameter dengan rentetan.done
menunjukkan akhir segmen gelung.
Menukar pelanjutan fail
Contoh berikut menunjukkan cara menggunakan Bash untuk gelung untuk menamakan semula semua fail yang berakhir dengan.jpeg dalam direktori semasa dengan menggantikan pelanjutan fail dari.jpeg ke.jpg.
for file in *.jpeg; do mv -- "$file" "${file%.jpeg}.jpg" done
Mari kita analisa baris kod demi baris:
- Baris pertama mencipta gelung dan meleret melalui senarai semua fail yang berakhir dengan '.jpeg'. Baris kedua terpakai untuk setiap item senarai dan memindahkan fail ke yang baru menggantikan '.jpeg' dengan '.jpg'.
${file%.jpeg}
untuk membuang bahagian '.jpeg' dari nama fail menggunakan pengembangan parameter shell yangdone
menunjukkan bahagian segmen gelung.
Kesimpulannya
Sekarang anda harus mempunyai pemahaman yang baik mengenai cara menggunakan bash untuk gelung untuk melewati senarai.
terminal gelung bashHTC satu x: menyelesaikan masalah gelung boot semasa memasang custom roms

Ketahui Bagaimana Mengatasi Masalah Loop Boot Semasa Memasang ROM Custom pada HTC One X.
Bash sehingga gelung

Dalam bahasa skrip seperti Bash, gelung berguna untuk mengautomasikan tugas berulang. Tutorial ini menerangkan asas-asas sehingga gelung di Bash. Sehingga gelung digunakan untuk melaksanakan satu set perintah yang diberikan selagi keadaan yang diberikan mengevaluasi kepada palsu.
Bash semasa gelung

Gelung adalah salah satu konsep dasar bahasa pengaturcaraan. Gelung berguna, jika anda ingin menjalankan siri arahan berulang kali. Tutorial ini menerangkan asas-asas sementara gelung dalam Bash serta pemecahan dan meneruskan pernyataan untuk mengubah aliran gelung.