Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

9 Contoh For Loops di Skrip Bash Linux

Posted on November 1, 2023

Bash for loop adalah alat serba guna yang dapat bekerja dengan angka, kata, array, variabel baris perintah, atau keluaran perintah lainnya. Perulangan for sederhana dapat digunakan dengan daftar numerik atau daftar kata, memungkinkan Anda mengulangi bagian kode untuk setiap nilai dalam daftar. Perulangan for juga dapat digunakan dengan rentang angka, nama file, parameter baris perintah, susunan kata, dan susunan asosiatif, memberikan fleksibilitas dalam tugas pembuatan skrip.

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

The for Loop

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

Perulangan Bash for sangat fleksibel. Ini dapat bekerja dengan angka, kata, array, variabel baris perintah, atau output dari perintah lainnya. Ini digunakan di header loop. Header menentukan apa yang sedang dikerjakan oleh loop—angka atau string, misalnya—dan kondisi akhir yang akan menghentikan perulangan.

Badan loop berisi kode yang ingin Anda ulangi. Ini menampung apa yang Anda ingin loop lakukan. Badan perulangan dapat berisi perintah skrip apa pun yang valid.

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

Simple for Loops

Jika Anda ingin menulis loop for pertama Anda, contoh sederhana berikut akan diperoleh Anda memulai.

for Loops menggunakan Daftar Numerik

Anda dapat menjalankan loop for pada baris perintah. Perintah ini membuat dan mengeksekusi perulangan for sederhana. Iterator adalah variabel yang disebut i. Kita akan menetapkan i sebagai masing-masing nilai dalam daftar angka, secara bergantian. Badan perulangan akan mencetak nilai itu ke jendela terminal. Kondisi yang mengakhiri perulangan ini adalah ketika i telah melakukan iterasi pada seluruh daftar angka.

untuk i dalam 1 2 3 4 5; lakukan gema $i; selesai

Penting untuk dicatat 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 sembarang melompat ke 44.

untuk i dalam 3 5 7 9 11 44; lakukan gema $i; selesai

Tidak ada bedanya dengan loop for. Ini dimulai dari salah satu ujung daftar dan menggunakan setiap nilai secara bergantian, hingga semua nilai dalam daftar telah digunakan. Nbsp

Nomornya juga tidak perlu dalam urutan menaik. Mereka bisa dalam urutan apa pun.

untuk saya dalam 3 43 44 11 9; lakukan gema $i; selesai

untuk Loop Menggunakan Daftar Kata

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

#!/bin/bashfor word di Ini adalah rangkaian kata-katado echo $worddone

Anda harus menggunakan chmod agar skrip 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 skripnya.

./word-list.sh

Sama seperti yang terjadi pada angka, iterator—dalam contoh ini , variabel word—berfungsi menelusuri daftar item data hingga mencapai akhir daftar. Badan perulangan mengakses nilai dalam variabel kata sehingga setiap kata dalam daftar diproses.

untuk 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.

Skrip ini adalah “number-range.sh.”

#!/bin/bashfor i in {1..10}do echo”Loop spin:” $idone

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

Beginilah cara kerjanya:

./number-range.sh

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

#!/bin/bashfor i di {0..32..4}do echo”Loop spin: ” $idone

Iterator menelusuri rentang angka dalam lompatan empat.

./number-range2.sh

for Loop Menggunakan Nama File

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

#!/bin/bashforfileinword-list.shnumber-range.shnumber-range2.shfilenames.shdo ls -lh “$file”done

Tidak ada gunanya memiliki skrip yang hanya berfungsi apa yang ls dapat lakukan, tetapi ia mendemonstrasikan cara mengakses nama file di dalam badan loop.

./namafile.sh

Dengan cara yang mirip dengan menggunakan rentang angka, kita dapat menggunakan pola file di header loop untuk menentukan file yang ingin kita proses. Hal ini menghindari banyak pengetikan dan berarti kita tidak perlu mengetahui terlebih dahulu nama filenya.

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

#!/bin/bashforfilein *.shdo ls -lh “$file”done

Berikut ini output.

./filenames2.sh

for Loop 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/bashfor file di $*do ls -lh “$file”done

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

./filenames3.sh n*.sh

Kami juga dapat meneruskan lebih dari satu pola sekaligus.

./filenames3.sh n*.sh .bashrc

File variabel iterator mengambil alih nilai masing-masing parameter baris perintah. Pola nama file diperluas, dan semua nama file diproses di badan perulangan. For Loops seperti C

Bash mendukung perulangan for tiga istilah klasik, seperti yang ditemukan dalam bahasa pemrograman C. Mereka disebut perulangan for tiga istilah karena ada tiga istilah di header perulangan.

Nilai awal dari iterator perulangan. Tes apakah perulangan berlanjut atau berakhir. Kenaikan—atau penurunan—dari iterator.

Skrip ini adalah “c-like.sh.”

Iterator I disetel ke 1 pada awal perulangan, dan perulangan akan berjalan selama pernyataan ” i<=10 ” benar. Segera setelah i mencapai 11, perulangan for akan berhenti. Iterator bertambah satu, setiap putaran loop.

#!/bin/bashfor (( i=1; i<=10; i++ ))do echo”Loop number:” $idone

Ayo jalankan skrip ini.

. /c-like.sh

Perulangan for seperti C memungkinkan pembuatan loop for dengan mudah yang memiliki persyaratan sedikit aneh. Perulangan ini dimulai pada 15, dan dihitung mundur dalam langkah 3. Ini adalah “c-like2.sh”

#!/bin/bashfor (( i=15; i>0; i-=3 ))do echo”Loop number:” $idone

Saat kita menjalankannya, ia akan melompat mundur dalam langkah tiga.

./c-like2.sh

Infinite for Loops

Anda juga dapat menggunakan format loop for ini untuk membuat loop tak terbatas. Yang perlu Anda lakukan hanyalah menghapus semua elemen dari header loop, seperti ini. Ini adalah “infinite.sh.”

#!/bin/bashfor (( ; ; ))do echo”Tekan Ctrl+C untuk menghentikan…” sleep 1done

Anda harus menekan Ctrl+C untuk menghentikan loop.

./infinite.sh

for Loop Menggunakan Array Kata

Kita dapat dengan mudah melakukan iterasi melalui array kata. Kita perlu memberikan nama array di header loop, dan iterator akan menelusuri semua entri dalam array. Ini adalah “word-array.sh.”

#!/bin/bashdistributions=(“Ubuntu Fedora Manjaro Arch EndeavourOS Garuda”) untuk distro di $distributionsdo echo $distrodone

Semua distribusi terdaftar untuk kami.

./word-array. sh

Perintah lanjutkan

Jika Anda ingin loop melewati entri tertentu, uji apakah iterator cocok dengan entri itu dan gunakan perintah lanjutkan. Perintah continue mengabaikan perputaran loop saat ini. Ini menambah iterator dan memulai putaran loop berikutnya—dengan asumsi entri yang ingin Anda lewati bukanlah item terakhir dalam daftar.

Ini adalah “word-array2.sh.” Ini melangkahi entri larik “Arch” tetapi memproses semua anggota larik lainnya.

#!/bin/bashdistributions=(“Ubuntu Fedora Manjaro Arch EndeavourOS Garuda”) untuk distro di $distributionsdo  if[[ “$distro” == “Arch ” ]] ; lalu    lanjutkan fi echo $distrodone

“Arch” tidak muncul di jendela terminal.

./word-array2.sh

Perintah break

Perintah break keluar dari loop dan mencegah pemrosesan lebih lanjut.

Ini adalah “word-array3.sh. ” Sama seperti skrip sebelumnya dengan continue diganti dengan break.

#!/bin/bashdistributions=(“Ubuntu Fedora Manjaro Arch EndeavourOS Garuda”) untuk distro di $distributionsdo if[[ “$distro” == “Arch” ]] ; kemudian    break fi echo $distrodone

Ketika iterator berisi “Arch”, loop for mengabaikan pemrosesan lagi.

./word-array3.sh

for Loop Menggunakan Array Asosiatif

Dalam Bash 4 dan yang lebih tinggi, array asosiatif memungkinkan Anda membuat daftar pasangan nilai kunci yang dapat dicari berdasarkan kunci atau nilainya. Karena hubungan dua arah antara kunci dan nilai, mereka juga disebut kamus data.

Kita dapat melakukan iterasi melalui array asosiatif menggunakan for loop. Skrip ini adalah “associative.sh.” Ini mendefinisikan array asosiatif dengan empat entri di dalamnya, satu untuk masing-masing “dog”, “cat”, “robin” , dan “human.” Ini adalah kuncinya. Nilainya adalah (default) jumlah kaki yang dimiliki masing-masing.

#!/bin/bashdeclare -A animal=( [anjing]=Berkaki empat [kucing]=Berkaki empat [robin]=Berkaki dua [manusia] =Berkaki dua )untuk kaki di${!animals[@]}lakukan  jika [ ${animals[$legs]} == “Berkaki dua” ]; lalu     echo${legs}  fidone

Iteratornya disebut Legs . Perhatikan bahwa header loop berisi tanda “!” tanda seru. Ini tidak bertindak sebagai operator logika NOT, ini adalah bagian dari sintaksis array asosiatif. Diperlukan untuk mencari melalui array.

Badan loop melakukan tes perbandingan string. Jika nilai anggota array adalah “Berkaki Dua”, ia akan mencetak nilai kunci ke jendela terminal. Saat kita menjalankannya, skrip mencetak makhluk berkaki dua.

./associative.sh

Iterate Atas keluaran Perintah

Jika Anda memiliki perintah atau urutan perintah yang menghasilkan daftar sesuatu, seperti nama file, Anda dapat mengulanginya dengan perulangan for. Anda harus berhati-hati terhadap perluasan nama file yang tidak terduga, tetapi dalam kasus sederhana tidak masalah.

Skrip ini adalah “command.sh.” ia menggunakan ls dan wc untuk menyediakan daftar nama file skrip yang diurutkan, bersama dengan jumlah baris, kata, dan byte.

#!/bin/bashfor i in $(ls *.sh | sort);do echo $(wc $i)done

Saat kami menjalankannya, kami mendapatkan statistik untuk setiap file, dengan file terdaftar dalam urutan abjad.

./command.sh

The Dazzling for Loop

For loop adalah alat skrip yang serbaguna dan mudah dipahami. Namun sefleksibel apa pun itu, jangan lupa bahwa loop lain ada karena suatu alasan. Jangan terpesona dengan pemikiran bahwa hanya perulangan for yang Anda perlukan.

Terkait: Cara Memproses File Baris demi Baris dalam Skrip Bash Linux

Perulangan while, misalnya, jauh lebih cocok untuk hal-hal tertentu daripada perulangan for , seperti membaca baris dari suatu file.

Menulis skrip yang baik berarti menggunakan alat yang paling sesuai untuk tugas yang ada. Perulangan for adalah alat yang hebat untuk dimiliki di kotak peralatan trik Anda.

Terbaru

  • Apa Itu Error 0x800704f8? Ini Pengertian dan Cara Mengatasinya
  • Android Akhirnya Dapat GPS Darurat di India! Setelah Hampir 10 Tahun
  • Apa Itu GetContact Premium? Ini Pengertian dan Cara Daftarnya
  • Android Maze Figure: Koleksi Baru Google yang Bikin Penggemar Bergairah!
  • Google Update Besar-besaran Desember 2025: Apa yang Akan Memengaruhi Pengalaman Anda?
  • Masih Pusing Hitung Gaji Manual? Waktunya Pakai Aplikasi HR
  • Apa Itu Dustruco? Ini Pengertian dan Cara Pasangnya di HP Kalian
  • Apa Itu Aplikasi Dooie Live? Ini Pengertian dan Cara Pakai Aplikasinya untuk Cari Jodoh
  • Apa Itu Battle Emote Jefri Nichol dan Om Telolet Om di MLBB? Ini Penjelasannya
  • Apa itu Game Luna Mobile dan Bagaimana Cara Menangnya?
  • Apa Itu Kompensasi Sistem Trail Mobile Legends? Ini Penjelasan dan Cara Klaim Hadiahnya
  • Apa Itu Update Google Pixel 2 Desember 2025? Ini Penjelasannya!
  • Ini Cara Reset Desil di Aplikasi Cek Bansos Biar Valid (Update Januari 2026)
  • Apa Itu EZNET Wireless dan Fiber Optic? Ini Perbedaan dan Pengertian Lengkapnya
  • Pengertian Rework Magic Wheel dan Rank Mythic Eternal: Apa itu Perubahan Sistem Baru Mobile Legends?
  • Apa Itu Diamond Combo? Pengertian Game Puzzle Viral yang Katanya Bisa Hasilkan Cuan
  • Apa Itu Showbox? Pengertian, Fungsi, dan Cara Menggunakannya di Android
  • Cara Mengatasi Fitur Monet Facebook Pro Tiba-tiba Hilang
  • Google Bikin Kejutan! Pixel 10 Diskon Gila-gilaan di YouTube Premium
  • Apa Itu Google CC? Ini Pengertian Agen Produktivitas AI Eksperimental Terbaru
  • Apa Itu Ultras Seblak di eSport? Pengertian dan Fenomena Baru Suporter eSport
  • Android 16: Animasi Folder Baru yang Mengubah Cara Kita Berinteraksi!
  • Android 16: Notifikasi Lokasi ‘Blue Dot’ – Fitur Baru yang Perlu Kalian Ketahui!
  • Apa Itu Risiko Auto Click di Event Spongebob Mobile Legends? Ini Penjelasannya
  • Apa Itu Fitur Eksperimental Windows? Ini Pengertian dan Cara Menonaktifkannya
  • Apa Itu Android 16 Beta 1? Ini Pengertian dan Fitur Terbarunya
  • Belum Tahu? Ini Trik Supaya Bisa Dapat Skin Patrick Mobile Legends dengan Harga Murah
  • Pixel Desember 2025: Update Besar Siap Meluncur, Apa yang Baru?
  • Apa Itu HYFE XL Prioritas? Ini Pengertian, FUP, dan Realita Kecepatannya
  • Pengertian Render dan Convert: Apa Bedanya dalam Video Editing?
  • Performa Maksimal! Ini Cara Manual Update Ubuntu ke Linux Kernel 6.18 LTS
  • Ubuntu 26.04 LTS Resmi Gunakan Kernel Terbaru!
  • Apa Itu AI Kill Switch di Firefox? Ini Pengertian dan Detail Fitur Terbarunya
  • Apa Itu Platform Modular Intel Alder Lake N (N100)? Ini Pengertian dan Spesifikasinya
  • Apa Itu Armbian Imager? Pengertian Utilitas Flashing Resmi untuk Perangkat ARM Kalian
  • Apa Itu Elestio VibeCoder? Ini Pengertian dan Penjelasan Lengkapnya
  • Apa Itu Elestio Get A Team? Ini Pengertian Karyawan AI Digital
  • Apa itu RunPod? Ini Pengertian dan Tutorial Cara Deploy Pod Pertamamu
  • Apa Itu Migrasi Pod di RunPod? Ini Pengertian dan Cara Kerjanya
  • Loading Model AI Lama? Coba Fitur Cached Models RunPod Ini, Hemat Waktu & Biaya!
  • Apa Itu Skandal Instacart? Pengertian Dark Pattern dan Refund 940 Miliar
  • Apa Itu Kerentanan UEFI? Pengertian Celah Keamanan DMA pada Booting Awal
  • Apa Itu Serangan Siber Infrastruktur Kritikal? Belajar dari Kasus Peretasan Air Bersih Denmark
  • Apa Itu Error Update MSMQ di Windows 10? Ini Penjelasan Lengkap dan Solusinya
  • Apa Itu “I Am Not a Robot – reCAPTCHA Verification ID: 2165”? Ini Pengertian dan Bahayanya
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

©2025 emka.web.id | Design: Newspaperly WordPress Theme