GNU/Linux >> Belajar Linux >  >> Linux

Bash sementara Loop

Loop adalah salah satu konsep dasar bahasa pemrograman. Loop berguna saat Anda ingin menjalankan serangkaian perintah beberapa kali hingga kondisi tertentu terpenuhi.

Dalam bahasa skrip seperti Bash, loop berguna untuk mengotomatiskan tugas yang berulang. Ada tiga konstruksi loop dasar dalam skrip Bash, for loop, while loop, dan until lingkaran.

Tutorial ini mencakup dasar-dasar while loop di Bash. Kami juga akan menunjukkan cara menggunakan break dan continue pernyataan untuk mengubah aliran loop.

Bash while Putaran #

while loop digunakan untuk melakukan serangkaian perintah tertentu dalam jumlah yang tidak diketahui selama kondisi yang diberikan bernilai benar.

Bash while loop mengambil bentuk berikut:

while [CONDITION]
do
  [COMMANDS]
done

while pernyataan dimulai dengan while kata kunci, diikuti dengan ekspresi kondisional.

Kondisi dievaluasi sebelum menjalankan perintah. Jika kondisi bernilai benar, perintah dijalankan. Jika tidak, jika kondisi bernilai false, loop dihentikan, dan kontrol program akan diteruskan ke perintah berikut.

Pada contoh di bawah ini, pada setiap iterasi, nilai saat ini dari variabel i dicetak dan ditambah satu.

i=0

while [ $i -le 2 ]
do
  echo Number: $i
  ((i++))
done

Tue loop berulang selama i kurang atau sama dengan dua. Ini akan menghasilkan output berikut:

Number: 0
Number: 1
Number: 2

while yang tak terbatas Putaran #

Perulangan tak terbatas adalah perulangan yang berulang tanpa batas dan tidak pernah berakhir. Jika kondisi selalu bernilai true, Anda mendapatkan infinite loop.

Dalam contoh berikut, kami menggunakan perintah bawaan : untuk membuat loop tak terbatas. : selalu kembali benar. Anda juga dapat menggunakan true built-in atau pernyataan lain yang selalu mengembalikan true.

while :
do
  echo "Press <CTRL+C> to exit."
  sleep 1
done

while loop di atas akan berjalan tanpa batas. Anda dapat mengakhiri loop dengan menekan CTRL+C .

Berikut ini adalah padanan satu baris:

while :; do echo 'Press <CTRL+C> to exit.'; sleep 1; done

Membaca File Baris Demi Baris #

Salah satu penggunaan paling umum dari while loop adalah untuk membaca file, aliran data, atau variabel baris demi baris.

Berikut adalah contoh yang berbunyi /etc/passwd file baris demi baris dan mencetak setiap baris:

file=/etc/passwd

while read -r line; do
  echo $line
done < "$file"

Alih-alih mengontrol while loop dengan kondisi, kami menggunakan pengalihan input (< "$file" ) untuk meneruskan file ke read perintah, yang mengontrol loop. while loop akan berjalan sampai baris terakhir dibaca.

Saat membaca file baris demi baris, selalu gunakan read dengan -r opsi untuk mencegah garis miring terbalik bertindak sebagai karakter pelarian.

Secara default, tombol read perintah memangkas karakter spasi di depan/di belakang (spasi dan tab). Gunakan IFS= opsi sebelum read untuk mencegah perilaku ini:

file=/etc/passwd

while IFS= read -r line; do
  echo $line
done < "$file"

break dan continue Pernyataan #

break dan continue pernyataan dapat digunakan untuk mengontrol eksekusi loop while.

break Pernyataan #

break pernyataan mengakhiri loop saat ini dan meneruskan kontrol program ke perintah yang mengikuti loop yang dihentikan. Biasanya digunakan untuk mengakhiri loop ketika kondisi tertentu terpenuhi.

Dalam contoh berikut, eksekusi loop akan dihentikan setelah item yang diulang saat ini sama dengan 2 .

i=0

while [ $i -lt 5 ]
do
  echo "Number: $i"
  ((i++))
  if [[ "$i" == '2' ]]; then
    break
  fi
done

echo 'All Done!'
Number: 0
Number: 1
All Done!

continue Pernyataan #

continue pernyataan keluar dari iterasi loop saat ini dan meneruskan kontrol program ke iterasi loop berikutnya.

Berikut di bawah ini, setelah item yang diulang saat ini sama dengan 2 continue pernyataan akan menyebabkan eksekusi kembali ke awal loop dan melanjutkan iterasi berikutnya.

i=0

while [ $i -lt 5 ]
do
  ((i++))
  if [[ "$i" == '2' ]]; then
    continue
  fi
  echo "Number: $i"
done

echo 'All Done!'
Number: 1
Number: 3
Number: 4
Number: 5
All Done!

Kesimpulan #

while loop berulang kali mengeksekusi serangkaian perintah yang diberikan selama kondisinya benar.

Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.


Linux
  1. Cara menulis loop di Bash

  2. Panduan Bash For Loop dan Contohnya

  3. Bash Seri Pemula #8:Loop di Bash

  1. Menjaga Anda di Loop – Contoh Bash Untuk, Sementara, Sampai Loop

  2. Contoh Bash untuk loop

  3. Menggunakan dan di Bash while loop

  1. Skrip Linux:3 cara untuk while loop di Bash

  2. Sejajarkan Bash Untuk Loop?

  3. Ssh Menyebabkan Loop Berhenti?