9 Contoh For Loops di Linux Bash Script

  • Post author:
  • Post category:Tutorial

Bash for loop serbaguna melakukan lebih dari sekadar loop beberapa kali. Kami menjelaskan banyak variannya sehingga Anda dapat menggunakannya dengan sukses di skrip Linux Anda sendiri.

For Loop

Semua skrip dan bahasa pemrograman memiliki beberapa cara untuk menangani loop. Loop adalah bagian dari kode yang ingin Anda jalankan berulang kali. Daripada mengetikkan kumpulan instruksi yang sama ke dalam skrip Anda, berulang kali, sebuah loop akan mengulangi satu bagian kode berulang-ulang untuk Anda.

Loop Bash for sangat fleksibel. Itu dapat bekerja dengan angka, kata, array, variabel baris perintah, atau output dari perintah lain. Ini digunakan di header loop. Header menentukan cara kerja loop—angka atau string, misalnya—dan kondisi akhirnya yang akan menghentikan looping.

Tubuh loop berisi kode yang ingin Anda ulangi. Ini menampung apa yang Anda inginkan untuk dilakukan loop. Isi loop dapat berisi perintah skrip yang valid. Variabel

A yang disebut penghitung loop atau iterator digunakan untuk menelusuri rentang nilai atau daftar item data. Untuk setiap loop, iterator mengambil nilai nomor berikutnya, string, atau tipe data apa pun yang diulangi oleh loop. Hal ini memungkinkan loop untuk bekerja dengan nilai setiap item data secara bergantian, atau bahkan dalam beberapa kasus untuk memanipulasi item data itu sendiri.

Sederhana untuk Loops

Jika Anda ingin menulis loop for pertama Anda, contoh sederhana ini akan membantu Anda start.

for Loops using Numerical Lists

Anda dapat menjalankan for loop pada baris perintah. Perintah ini membuat dan mengeksekusi loop for sederhana. Iterator adalah variabel yang disebut i. Kami akan menetapkan i untuk masing-masing nilai dalam daftar angka, secara bergantian. Tubuh loop akan mencetak nilai itu ke jendela terminal. Kondisi yang mengakhiri perulangan ini adalah ketika saya mengulangi seluruh daftar angka.

for i dalam 1 2 3 4 5; lakukan echo $i; done

Penting untuk diperhatikan di sini bahwa variabel i bertambah satu setiap kali putaran berputar,  tetapi itu karena daftar angka bertambah satu setiap kali.

Daftar angka ini dimulai dari 3 dan naik dalam langkah dua, lalu sewenang-wenang melompat ke 44.

for i di 3 5 7 9 11 44; lakukan echo $i; done

Tidak ada bedanya dengan for loop. Itu dimulai di salah satu ujung daftar dan menggunakan setiap nilai secara bergantian, sampai semua nilai dalam daftar telah digunakan.

Atau tidak perlu urutan menaik. Mereka dapat dalam urutan apapun.

for i di 3 43 44 11 9; lakukan echo $i; done

untuk Pengulangan Menggunakan Daftar Kata

Kita dapat dengan mudah melakukan hal yang sama dengan kata-kata. Salin teks skrip ke editor dan simpan sebagai “word-list.sh.”

#!/bin/bash untuk kata di Ini adalah urutan kata do   echo $word done

Anda harus menggunakan chmod untuk membuat skrip yang dapat dieksekusi, dan skrip lain yang Anda salin dari artikel ini. Ganti saja nama skrip setiap kali Anda menggunakan perintah chmod.

chmod +x word-list.sh

Mari kita jalankan script.

./word-list.sh

Seperti yang dilakukan dengan angka, iterator—dalam contoh ini, kata variabel—bekerja melalui daftar item data hingga mencapai akhir daftar. Badan perulangan mengakses nilai dalam variabel Word sehingga setiap kata dalam daftar akan diproses.

for Perulangan dengan Rentang Angka

Jika Anda ingin perulangan for dijalankan 100 kali, akan sangat melelahkan jika harus mengetikkan urutan 100 angka di header loop. Rentang angka memungkinkan Anda menentukan angka pertama dan terakhir saja.

Script ini adalah “number-range.sh.”

#!/bin/bash for i in {1..10} do   echo “Loop spin:” $i done

Nomor rentang didefinisikan dalam tanda kurung kurawal “{}” dengan dua titik “..” yang memisahkan angka yang memulai dan mengakhiri rentang. Pastikan Anda tidak menyertakan spasi apa pun dalam definisi rentang.

Begini cara kerjanya:

./number-range.sh

Anda dapat menyertakan nomor lain yang menentukan ukuran langkah yang harus digunakan iterator untuk menelusuri angka dalam rentang. Skrip ini, “number-range2.sh” akan menggunakan rentang 0 hingga 32, dan ukuran langkah 4.

#!/bin/bash for i in {0..32.4} do   echo “Loop spin :” $i done

Iterator melangkah melalui rentang angka dalam lompatan empat.

./number-range2.sh

for Loops Menggunakan Filenames

Karena kita dapat memproses daftar kata, kita dapat membuat skrip kita bekerja dengan nama file. Skrip ini disebut “filenames.sh.”

#!/bin/bash untuk file di word-list.sh number-range.sh number-range2.sh filenames.sh do   ls -lh “$file” done

Akan cantik tidak ada gunanya memiliki skrip yang hanya melakukan apa yang dapat dilakukan ls, tetapi skrip ini menunjukkan cara mengakses nama file di dalam loop body.

./filenames.sh

Dalam cara yang mirip dengan menggunakan rentang angka, kita dapat menggunakan pola file dalam loop header untuk menentukan file yang ingin kita proses. Ini menghindari banyak pengetikan dan berarti kita tidak perlu mengetahui terlebih dahulu nama-nama file.

Skrip ini disebut “filenames2.sh.” Kami telah mengganti daftar nama file dengan pola nama file “*.sh” agar laporan skrip pada semua file skrip di direktori saat ini.

#!/bin/bash untuk file di *.sh do   ls -lh “$ file” done

Ini adalah output.

./filenames2.sh

for Loops Menggunakan Parameter Baris Perintah

Kita dapat menambahkan lebih banyak fleksibilitas dengan meneruskan pola nama file pada baris perintah. Variabel $* mewakili semua parameter baris perintah yang diteruskan ke skrip.

Ini adalah “namafile3.sh.”

#!/bin/bash untuk file di $* do   ls -lh “$file” done

Kami akan meminta nama file yang dimulai dengan “n” dan memiliki ekstensi SH.

./filenames3.sh n*.sh

Kita juga dapat meneruskan lebih dari satu pola sekaligus.

./filenames3.sh n*.sh .bashrc

File variabel iterator mengambil pada nilai masing-masing parameter baris perintah. Pola nama file diperluas, dan semua nama file diproses dalam loop body.

RELATED:How to Work with Variables in Bash

C-like for Loops

Bash mendukung tiga-istilah klasik untuk loop, seperti yang ditemukan dalam bahasa pemrograman C. Disebut tiga suku untuk perulangan karena ada tiga suku dalam header perulangan.

Nilai awal iterator perulangan.Pengujian apakah perulangan berlanjut atau berakhir.Penambahan—atau pengurangan—iterator.

Skrip ini adalah “c-like.sh.”

Iterator I disetel ke 1 di awal loop, dan loop akan berjalan selama pernyataan ” i

Itulah berita seputar 9 Contoh For Loops di Linux Bash Script, semoga bermanfaat. Disadur dari HowToGeek.com.