GNU/Linux >> Belajar Linux >  >> Linux

Bash For Loop dengan contoh praktis

Salah satu fitur penting dari setiap bahasa pemrograman komputer adalah kemampuan untuk mengeksekusi sepotong kode berulang kali. Ini menghemat banyak waktu dan juga mengurangi baris kode dalam suatu program. Pemrograman Bash memungkinkan pengguna untuk menjalankan tugas lagi dan lagi dengan menggunakan Loops. Dalam artikel ini, kita akan melihat For Loop pernyataan.

Sebuah Untuk Putaran pernyataan digunakan untuk mengeksekusi serangkaian perintah sampai kondisi tertentu menjadi salah. Misalnya, Anda dapat menggunakannya untuk menjalankan perintah Linux lima kali atau menggunakannya untuk membaca dan memproses file pada sistem hingga mencapai kondisi tertentu.

Perintah Bash For Loop

Untuk Putaran dalam pemrograman Bash hadir dalam dua sintaks yang berbeda:

  • The Untuk Dalam Loop
for item in (list)
do
command_one
command_two
...
done

Dalam sintaks For In Loop di atas, ada empat kata kunci – for, in, do, dan done. Daftar mengacu pada nilai-nilai dalam 'daftar'. Item adalah nama variabel yang bukan kata kunci dalam bahasa pemrograman Bash.

Ketika kita menjalankan program, ia akan mengeksekusi perintah tergantung pada jumlah item dalam 'daftar'. Oleh karena itu, jika daftar berisi lima angka, (1 2 3 4 5), perintah tersebut dijalankan lima kali.

Dalam setiap iterasi, nilai dalam daftar disimpan dalam variabel item dan digunakan di badan program.

  • For Loop dengan sintaks seperti bahasa pemrograman C
for (( expression_1; expression_2; expression_3))
do
command_one
command_two
...
done

Dengan pernyataan For Loop di atas, jika Anda seorang pengembang C, C++, atau Java, Anda harus terbiasa dengan sintaksnya. ‘expression_1 adalah singkatan dari inisialisasi, ekspresi_2 adalah singkatan dari kondisi, dan ekspresi_3 adalah singkatan dari pembaruan.

Saat kita menjalankan program, 'expression_1' dievaluasi sebelum melakukan iterasi pertama yang menginisialisasi nilai variabel untuk For Loop.

Badan program dijalankan hingga ekspresi_2 bernilai TRUE. Badan program di sini mengacu pada perintah antara kata kunci do dan done. Sekarang, setelah setiap iterasi program, ekspresi_3 dievaluasi.

Setelah memahaminya, mari kita lihat beberapa contoh Bash For Loop yang dapat Anda manfaatkan dalam aktivitas sehari-hari Anda bekerja dengan sistem Linux. Kami akan menulis skrip dan menjalankannya di terminal. Perhatikan, semua skrip Bash menggunakan ekstensi '.sh.'.

Gunakan For Loop untuk mencetak serangkaian String

Anda dapat menggunakan For In Loop untuk mencetak serangkaian string. Lihatlah kode di bawah ini. Kami sudah memiliki tiga file yang digunakan dalam program di direktori kerja kami. Yaitu 'testFile1', 'testFile2', dan 'testFile3'.

#!/bin/bash
for item in testFile1 testFile2 testFile3
do
cat $item
echo "Done with file $item"
echo 
done

Outputnya adalah:

Program di atas mencantumkan isi file yang ditentukan dalam daftar. Yaitu, testFile1, testFile2, dan testFile3. Perintah 'cat' adalah utilitas Linux yang digunakan untuk menampilkan konten file.

Oleh karena itu, program mengulang melalui file yang dimulai dengan 'testFile1', jalankan perintah 'cat' di atasnya sebelum mencetak pernyataan 'selesai dengan testFilee' dan beralih ke file berikutnya.

Setelah mengulangi semua file dalam daftar, program berakhir secara otomatis.

'For In Loop' dengan elemen Array untuk Mencadangkan File

Anda dapat menggunakan For In Loop untuk mengulangi elemen dalam array. Perhatikan kode di bawah ini.

#!/bin/bash

Files=('testFile1' 'testFile2' 'testFile3')
for item in "${Files[@]}"; 
do
cp $item{,.bak}
echo "Created a backup of $item"
done

Outputnya seperti di bawah ini.

Program di atas menggunakan perintah cp untuk membuat cadangan file dalam array. Saat ia mengulangi setiap file, ia membuat cadangan data dan mencetak 'Pesan Cadangan Dibuat' sebelum pindah ke item berikutnya dalam larik.

'Untuk Dalam Loop' dengan Rentang

Anda dapat mengulangi rentang angka. Misalnya, Anda ingin mengulangi antara angka 1 – 100. Menulis semua angka ini dalam program Anda akan membuat kodenya cukup banyak. Kita dapat menyelesaikan ini dengan menggunakan rentang. Perhatikan kode di bawah ini.

#!/bin/bash

for i in {0..50}
do
echo "COUNT: $i"
done

Outputnya harus seperti yang ditunjukkan di bawah ini.

Dari output di atas, kita melihat program telah mencetak angka 1 – 50. Itu karena kita memberikan rentang 1 – 50 digit.

Misalkan Anda ingin membuat rentang yang melewati sejumlah digit tertentu sebelum mencetak output. Kemudian kita perlu memasukkan parameter ketiga dalam sintaks rentang. Lihat kode di bawah ini.

#!/bin/bash

for i in {0..100..10}
do
echo "COUNT: $i"
done

Outputnya harus seperti yang ditunjukkan di bawah ini.

Outputnya harus seperti yang ditunjukkan di bawah ini.

Dari gambar di atas, kita melihat bahwa program mencetak angka 0 – 100 tetapi melewatkan Sepuluh (10) digit dalam setiap iterasi.

'Untuk Loop' dengan Sintaks pemrograman C

Setelah melihat beberapa contoh dengan 'For In Loop,' mari kita lihat Sintaks For Loop lainnya. Ini berisi ekspresi Inisialisasi yang menginisialisasi Loop, ekspresi Kondisi yang menentukan eksekusi program, dan ekspresi Increment yang memperbarui nilai variabel.

Perhatikan kode di bawah ini.

#!/bin/bash

for (( i=5; i>=1; i-- ))
do 
echo "COUNT: $i"
done

Outputnya harus seperti yang ditunjukkan di bawah ini.

Buat Loop Tak Terbatas dengan For Loop

Untuk membuat infinite loop di Bash, kita akan menggunakan sintaks pemrograman C. Lihat kode di bawah ini.

#!/bin/bash

for (( ; ; ))
do
echo "Use Ctrl+C to terminate the loop."
echo "Starting Infinite Loop..."
done

Outputnya harus seperti yang ditunjukkan di bawah ini.

Untuk keluar dari infinite loop, tekan Ctrl + C untuk membatalkan proses.

Hancurkan dan Lanjutkan pernyataan dalam 'For Loop'

Dalam pemrograman, pernyataan Break and Continue mengontrol eksekusi suatu program. Pernyataan Break mengakhiri program dan keluar dari Loop. Pernyataan Lanjutkan, di sisi lain, memaksa iterasi berikutnya dari program berlangsung.

  • Pernyataan Istirahat

Mari kita lihat program di bawah ini, yang menggunakan pernyataan Break.

#!/bin/bash
for distro in Ubuntu Manjaro Debian Fedora Kali ArchLinux
do
if [[ "$distro" == 'kali' ]]; then
break
fi
echo "Linux_distribution: $distro"
done

Outputnya harus seperti yang ditunjukkan di bawah ini.

Dari gambar di atas, kita melihat bahwa 'Kali' tidak tercetak di output. Itu karena kami memberikan 'If Condition' yang memeriksa untuk melihat nilai yang dipegang oleh variabel 'distro.' Jika nilainya adalah 'Kali,' pernyataan 'break' dijalankan dan menghentikan Loop.

Seperti yang Anda lihat, ArchLinux tidak dicetak di output karena pernyataan break mengakhiri program.

Pernyataan Lanjutkan

Tidak seperti pernyataan Break, pernyataan Lanjutkan menghentikan program pada bagian itu tetapi memaksa iterasi berikutnya dari program untuk berjalan.

Perhatikan kode di bawah ini.

#!/bin/bash

for distro in Ubuntu Manjaro Debian Fedora Kali ArchLinux
do
if [[ "$distro" == 'Kali' ]]; then
continue
fi
echo "Linux_distribution: $distro"
done

Outputnya harus seperti yang ditunjukkan di bawah ini.

Dari gambar di atas, kita melihat bahwa 'Kali' tidak tercetak di output. Itu karena kami memberikan 'Jika Kondisi' yang memeriksa untuk melihat nilai yang dipegang oleh variabel 'distro.' Jika nilainya adalah 'Kali,' pernyataan 'lanjutkan' dijalankan. Ini menghentikan Loop pada titik ini tetapi memaksa eksekusi bagian berikutnya dari program.

Seperti yang Anda lihat, 'Kali' tidak dicetak di output sementara 'ArchLinux' dicetak. Pernyataan Lanjutkan memaksa eksekusi bagian berikutnya dari program.

Program Bash Lebih Praktis menggunakan For Loop

Setelah melihat beberapa program Bash menggunakan pernyataan 'For Loop', mari kita lihat contoh nyata yang dapat Anda gunakan untuk mengelola sistem Linux Anda.

  • Program Bash untuk mengonversi file MP3 ke WAV

Dalam program ini, Anda memerlukan alat MPG123 yang diinstal di sistem Anda. Kode di bawah ini mencari file apa pun dengan ekstensi '.mp3.' dan mengonversinya menjadi file '.wav.' menggunakan alat 'mpg123'.

#!/bin/bash
for item in ./*.mp3
do
mpg123 -w music.wav $item.mp3
done

Dari gambar di bawah, kami melihat kami mengonversi 'Audio.mp3' menjadi 'Music.wav.'

  • Program ‘For Loop’ untuk memeriksa apakah ada file firefox.desktop.

Program di bawah ini akan mengulangi semua file yang ada di direktori aplikasi/ dan memberikan output apakah firefox.desktop ada.

#!/bin/bash
for item in /usr/share/applications/*
do
if [ "${item}" == "/usr/share/applications/firefox.desktop" ]
then
echo "Firefox.Desktop is present in the applications directory";
fi
done

Kesimpulan

Sekarang Anda telah belajar menggunakan For Loop pernyataan dalam pemrograman Bash, buat program untuk mengotomatisasi berbagai tugas di sistem Linux Anda. Jika Anda merasa artikel ini bermanfaat, jangan ragu untuk membagikan tautannya kepada teman-teman Anda.


Linux
  1. Pernyataan Bash If-Else Dengan Contoh

  2. Contoh Bash For Loop dan While Loop

  3. Tutorial Status Keluar Bash Shell dengan Contoh Praktis

  1. Panduan Bash For Loop dan Contohnya

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

  3. 12 Contoh Bash For Loop untuk Scripting Shell Linux Anda

  1. Cara Menulis Skrip Bash dengan Contoh

  2. Tutorial Bash HereDoc Dengan Contoh

  3. Contoh Bash untuk loop