For Loop
Termasuk bagian Dasar-Dasar dalam perjalanan Terminal di Coddy. Pelajaran 71 dari 82.
Terkadang kamu perlu mengulangi suatu tindakan beberapa kali. Daripada menulis perintah yang sama berulang kali, kamu bisa menggunakan for loop untuk menelusuri item dalam list dan melakukan tindakan pada setiap item.
Berikut struktur dasar for loop di Bash:
#!/bin/bash
for name in Alice Bob Charlie; do
echo "Hello, $name!"
doneSkrip ini menampilkan sapaan untuk setiap nama dalam list. Variabel name mengambil setiap nilai secara bergantian: pertama "Alice", lalu "Bob", kemudian "Charlie". Kata kunci do menandai awal badan perulangan, dan done mengakhirinya.
for loop sangat ampuh jika digabungkan dengan wildcard. Kamu bisa melakukan perulangan pada semua file di sebuah direktori:
#!/bin/bash
for file in *.txt; do
echo "Processing $file"
doneIni melakukan iterasi pada setiap file .txt di direktori saat ini. Pada setiap iterasi, variabel file menyimpan nama file saat ini, sehingga kamu bisa melakukan operasi pada setiap file secara otomatis.
Satu hal yang perlu diketahui: jika pola tersebut tidak cocok dengan file mana pun, Bash tidak mengembangkannya. Perulangan kemudian berjalan sekali dengan teks literal *.txt sebagai nilainya, alih-alih tidak berjalan sama sekali.
Kamu juga bisa melakukan perulangan pada rentang angka menggunakan ekspansi kurung kurawal:
#!/bin/bash
for i in {1..5}; do
echo "Number: $i"
doneIni mencetak angka 1 sampai 5. For loop mengubah tugas yang berulang menjadi hanya beberapa baris kode, sehingga skripmu lebih efisien dan lebih mudah dipelihara.
Tantangan
MudahBuat skrip shell bernama countdown.sh yang menggunakan for loop untuk mencetak hitung mundur dari 5 sampai 1.
Skripmu harus:
- Dimulai dengan baris shebang (
#!/bin/bash) - Menggunakan for loop dengan ekspansi kurung kurawal untuk mengiterasi angka dari 5 turun sampai 1
- Mencetak setiap angka pada barisnya sendiri dengan format:
Countdown: [number]
Buat skrip dapat dieksekusi lalu jalankan. Output-mu seharusnya:
Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1Petunjuk: Gunakan
{5..1}untuk membuat rentang menurun. Di dalam perulangan, gunakanecho "Countdown: $i"denganisebagai variabel perulanganmu.
Coba sendiri
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Direktori
Buat DirektoriSalin DirektoriPindahkan dan Ganti Nama DirektoriHapus DirektoriUlasan: Operasi Direktori7Isi File
Perintah head dan tailJumlah KataPerintah sortPerintah uniqueDasar-dasar grepgrep dengan FlagUlasan: Detektif Teks10Proyek Analisis Log
Ikhtisar ProyekMelihat File Log13Dasar-Dasar Shell Scripting
Apa Itu Shell ScriptMembuat dan Menjalankan ScriptVariabel dalam ScriptInput Pengguna dalam ScriptPernyataan IfFor LoopWhile LoopRangkuman: Tebak Angka2Navigasi
Tampilkan Direktori KerjaTampilkan Daftar FileGanti DirektoriJalur Absolut vs RelatifDirektori Home dan RootRingkasan: Temukan Arahmu8Pengalihan
Keluaran StandarTimpa FileTambahkan ke FileMasukan StandarStandard ErrorRangkuman: Pembuat Log6Wildcard dan Pola
Wildcard BintangWildcard Tanda TanyaWildcard Kurung SikuMenggabungkan WildcardUlasan: Operasi Selektif9Penggunaan Pipe
Apa Itu PipeMerangkai Dua PerintahMerangkai Beberapa PerintahPipe dengan GrepRingkasan: Pipeline DataLatihan sendiri: Playground Terminal