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

  • Saldo DANA Gratis dari Kode Redeem Terbaru 2026, APK JadiDuit Penipu?
  • Ngefans Maxwell Clash of Champions? Begini Cara Masuk Saluran WA-nya Biar Update Terus!
  • Ini Cara Pakai greatonlinetools.com buat Nambah Likes dan Iseng ke Teman!
  • Cara Pakai Bug Token M7 Mobile Legends, Banjir Skin Prime Cuma Modal Browser!
  • Pusing Gagal Simpan Data Internet Dapodik 2026.b? Ini Trik Jitu Mengatasinya!
  • Mau Cuan Tambahan? Ini Cara Mudah Jadi Clipper di Ternak Klip Modal HP Doang!
  • Akun PTK Silang Merah di Dapodik 2026.b Bikin Panik? Jangan Dihapus, Coba Trik Ini Dulu!
  • Ini Trik Supaya Bisa Mancing Otomatis di Fish It Roblox Pakai GG Game Space
  • Sering Stuck Saat Registrasi Dapodik 2026.b? Coba Cara Offline Ini, Dijamin Lancar!
  • Belum Tahu? Ini Trik Isi Data Internet Dapodik 2026.B Biar Validasi Aman!
  • Belum Tahu? Inilah Cara Dapat Saldo E-Wallet Cuma Modal Tidur di Sleep Time Tracker
  • Padahal Negara Maju, Kenapa Selandia Baru Nggak Bangun Jembatan Antar Pulau? Ini Alasannya!
  • Nonton Drama Bisa Dapat 1 Juta? Cek Dulu Fakta dan Bukti Penarikan Aplikasi Gold Drama Ini!
  • Takut Saldo Habis? Gini Cara Stop Langganan CapCut Pro Sebelum Perpanjangan Otomatis
  • Gini Caranya Hilangkan Invalid Peserta Didik di Dapodik 2026 B Tanpa Ribet, Cuma Sekali Klik!
  • Rombel Hilang di Dapodik 2026 B? Tenang, Gini Cara Mudah Mengatasinya Tanpa Menu Aksi!
  • Pusing Lihat Ratusan Invalid Sarpras di Dapodik 2026 B? Tenang, Ini Cara Membereskan Datanya
  • Validasi Merah Terus? Ini Cara Tuntas Isi Data Listrik & Internet di Dapodik 2026 B
  • Inilah Trik Install Dapodik 2026.B Tanpa Patch, Wajib Uninstall Versi Lama!
  • Apakah APK PinjamAja Penipu?
  • Ini Trik Cepat Cuan di Clear Blast Tanpa Undang Teman
  • Belum Tahu? Inilah Suku Bajau Punya Gen “Mutan” Mirip Fishman One Piece, Ini Faktanya!
  • Inilah Paket PLTS Hybrid 6kVA Aspro DML 600 yang Paling Powerful!
  • Suku Tsaatan: Suku Mongolia Penggembala Rusa Kutub
  • Game Happy Rush Terbukti Membayar atau Cuma Scam Iklan?
  • Cara Nonton Drama Dapat Duit di Free Flick, Tapi Awas Jangan Sampai Tertipu Saldo Jutaan!
  • APK Pinjol Rajindompet Penipu? Ini Review Aslinya
  • Keganggu Iklan Pop-Up Indosat Pas Main Game? Ini Trik Ampuh Matikannya!
  • Belum Tahu? Inilah Cara Upload Reels Instagram Sampai 20 Menit, Konten Jadi Lebih Puas!
  • Apa itu Negara Somaliland? Apa Hubungannya dengan Israel?
  • What is OpenEverest? The Future of Database Management on Kubernetes
  • T3g: Code is Cheap Now, Software Isn’t
  • Is the New $130 Raspberry Pi AI Hat+ 2 Worth Your Allowance? A Detailed Review
  • Create AI Voices on Your CPU: Pocket TTS Explained for Beginners
  • Building Your First Server: Windows Server Setup and Active Directory
  • Begini Cara Mencegah Output Agen AI Melenceng Menggunakan Task Guardrails di CrewAI
  • Tutorial AI Lengkap Strategi Indexing RAG
  • Cara Membuat AI Voice Agent Cerdas untuk Layanan Pelanggan Menggunakan Vapi
  • Inilah Cara Belajar Cepat Model Context Protocol (MCP) Lewat 7 Proyek Open Source Terbaik
  • Inilah Cara Menguasai Tracing dan Evaluasi Aplikasi LLM Menggunakan LangSmith
  • Clipper Malware? Ini Pengertian dan Bahaya yang Mengintai Kalian
  • Kronologi Serangan Gentlemen Ransomware di Oltenia Energy
  • Apa itu CVE-2020-12812? Ini Penjelasan Celah Keamanan Fortinet FortiOS 2FA yang Masih Bahaya
  • Apa itu CVE-2025-14847? Ini Penjelasan Lengkap MongoBleed
  • Ini Kronologi & Resiko Kebocoran Data WIRED
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

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