BASH untuk contoh loop

Loop digunakan dalam bahasa pemrograman apa pun untuk mengeksekusi kode yang sama berulang kali. Tiga jenis loop terutama digunakan dalam pemrograman untuk melakukan tugas yang berulang. Ini adalahfor, while, and do-while/repeat-untillingkaran. Anda dapat mengajukan permohonan untuk loop pada skrip bash dengan berbagai cara. Beberapa contoh BASH for loop yang berguna telah disebutkan dalam artikel ini.

Sintaks untuk loop:

A. for value in list
do
    commands
done

B. for value in file1 file2 file3
do
    commands
done

C. for value in $(Linux command)
do
    commands
done

D. for (( i=0; i<10; i++)
do
    commands
done

Menurut sintaks di atas, blok awal dan akhir dari for lingkaran ditentukan oleh do dan done kata kunci dalam skrip bash. Penggunaan loop yang berbeda telah ditunjukkan di bagian selanjutnya dari tutorial ini.

Contoh-1: Membaca nilai statis

Buat file bash bernama loop1.shdengan skrip berikut untuk membaca nilai dari daftar menggunakan for loop. Dalam contoh ini, 5 nilai statis dideklarasikan dalam daftar. Loop ini akan berulang 5 kali, dan setiap kali, ia akan menerima nilai dari daftar dan menyimpannya dalam variabel bernama warna yang akan dicetak di dalam loop.

#!/bin/bash
# Define loop to read string values
for color in Blue Green Pink White Red
do
    # Print the string value
    echo "Color = $color"
done

Output: Output
berikut akan muncul setelah menjalankan skrip di atas.

Contoh-2: Membaca Variabel Array

Anda dapat menggunakan for loop untuk mengulang nilai array. Buat file bash baru bernamaloop2.shdengan skrip berikut. Dalam contoh ini, loop mengambil nilai dari variabel array bernamaColorList, dan itu akan mencetak output hanya jika Pink nilai ditemukan dalam elemen array.

#!/bin/bash
# Declare and array
ColorList=("Blue Green Pink White Red")
# Define loop to  iterate the array values
for color in $ColorList
do
    # Check the value is pink or not
    if [ $color == 'Pink' ]
    then
            echo "My favorite color is $color"
    fi
done

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas.

Contoh-3: Membaca argumen command line

Nilai argumen command line dapat diulang dengan menggunakan for loop di bash. Buat file bash baru bernamaloop3.sh dengan skrip berikut untuk membaca dan mencetak nilai argumen command line menggunakan for loop.

#!/bin/bash
# Define loop to read argument values
for myval in $*
do
    # Print each argument
    echo "Argument: $myval"
done

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas. Dua argumen telah diberikan sebagai argumen command line di sini. Ini adalah ‘Linux‘ dan ‘Hint‘.

Contoh-4: Menemukan bilangan ganjil dan genap menggunakan tiga ekspresi

Sintaks gaya-C untuk loop adalah tiga sintaks ekspresi. Ekspresi pertama menunjukkan inisialisasi, ekspresi kedua menunjukkan kondisi terminasi, dan ekspresi ketiga menunjukkan kenaikan atau penurunan. Buat file bash bernamaloop4.sh dengan script berikut untuk mengetahui bilangan ganjil dan genap dari 1 sampai 5.

#!/bin/bash

# Define for loop in C-style format
for (( n=1; n<=5; n++ ))
do  
    # Check the number is even or not
    if (( $n%2==0 ))
    then
        echo "$n is even"
    else
        echo "$n is odd"
    fi  
done

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas.

Contoh-5: Membaca konten file

Anda dapat menggunakan for loop untuk membaca konten file apa pun dengan menggunakan ‘cat‘ memerintah. Misalkan Anda memiliki file bernama ‘weekday.txt‘ yang berisi nama semua hari kerja. Sekarang, buat file bash bernamaloop5.sh untuk membaca dan mencetak konten file.

#!/bin/bash
# Initialize the counter
i=1
# Define for loop to read the text file
for var in `cat weekday.txt`
do
    # Print the file content
    echo "Weekday $i: $var"
    ((i++))
done

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas.

Contoh-6: Buat loop for tak terbatas

Buat bash bernama loop6.bashdengan skrip berikut untuk mengetahui cara mendeklarasikan infinite for loop. Di sini, loop akan berulang untuk waktu yang tak terbatas dan mencetak nilai penghitung hingga user menekan Ctrl+C.

#!/bin/bash
# Initialize counter variable
counter=1
# Display message for termination
echo "Press Ctrl+c to terminate from the loop"
# Define infinite loop
for (( ;; ))
do
   # Print the number of iteration
   echo "Iterating for $counter time(s)."
   # Wait for 1 second
   sleep 1
   # Increment the counter
   ((counter++))
done

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas.

Contoh-7: Penggunaan for loop dengan perintah pengganti

Buat file bash bernama loop7.bash dengan script berikut untuk mengetahui useran for loop untuk membaca dan menceta
k output perintah.

#!/bin/bash
echo "All bash files starting with 'a' are:"

# Read the output of command substitute using for loop
for val in $(ls a*.bash)
do
    # Print the file name
    echo "$val"
done

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas.

Contoh-8: Keluar bersyarat dengan istirahat

Buat file bash bernama loop8.bash dengan skrip berikut untuk mengetahui cara keluar dari loop berdasarkan kondisi tertentu.

#!/bin/bash
# Define a for loop to iterate 10 times
for (( i=1; i<=10; i++ ))
do  
    # Define the conditions to terminate the loop
    if (( $i%3==0 && $i%6==0 ))
    then
        # Terminate from the loop
        echo "Terminated."
        break
    else
        # Print the current value of i
        echo "current value of i is: $i"
    fi  
done

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas.

Contoh-9: Kelanjutan awal dengan pernyataan lanjutan

Buat file bash bernama loop8.bash dengan skrip berikut untuk mengetahui cara menghilangkan satu atau lebih pernyataan dari loop dengan menggunakan pernyataan kontinu berdasarkan kondisi tertentu.

#!/bin/bash
# Declare an associative array
declare -A Applicants
# Intialize the array values
Applicants=( [1022]="Present" [1034]="Present" [1045]="Absent" [1067]="Present" )

echo "List of the applicant's ID who are present:"
for k in ${!Applicants[@]}
do
     # Filter the applicant's ID who are absent
     if [ ${Applicants[$k]} == "Absent" ]; then
        continue
     else
        # Print the applicant's ID who are present
        echo $k
     fi
done

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas.

Kesimpulan:

Penggunaan yang berbeda dari for loop telah dijelaskan dalam tutorial ini dengan menggunakan berbagai contoh untuk membantu user bash mengetahui tujuan menggunakan for loop dengan benar dan menerapkannya dalam skrip mereka.

Related Posts