Tutorial Bash Shell Scripting : Loops

Tutorial Bash Shell Scripting : Loops - Kebanyakan bahasa pemograman memiliki konsep loop atau pengulangan, ini membuat anda untuk menghemat waktu dan penulisan code. Misal, anda ingin menjalankan sebuah code "Hello World" 30 kali maka anda tidak perlu menulis echo "Hello World" 30 kali dengan menggunakan konsep loop. Jika sebelumnya kita mempelajari bash shell scripting case statement, sekarang kita akan belajar loop di bash shell scripting.

Tutorial Bash Shell Scripting : Loops

Tutorial Bash Shell Scripting : Loops

Loops di Bash Shell !

  • For Loop
  • While Loop
  • Until Loop

1. For Loop

for loop Proses pengulangan (Iteration) melalui serangkaian nilai hingga daftar tersebut habis.

Basic Syntax 
for <variable> in [list]
do
  <commands>
done
Contoh Kode 
#!/bin/bash

names='Max Rooted Blog'

for name in $names
do      
        echo $name
done
OUTPUT !
$ ./forloops
Max
Rooted
Blog

1.1 For Loop Menggunakan Range 

Untuk penulisan range di bash shell seperti ini {start..stop..step} anda bisa menggunakan 2  parameter start dan stop atau menggunakan 3  parameter sekaligus start, stop, dan step.

Contoh 2 Parameter 
#!/bin/bash

for i in {1..10}
do      
        echo Pengulangan : $i
done    
echo Pengulangan Selesai !
OUTPUT !
$ ./forloops
Pengulangan : 1
Pengulangan : 2
Pengulangan : 3
Pengulangan : 4
Pengulangan : 5
Pengulangan : 6
Pengulangan : 7
Pengulangan : 8
Pengulangan : 9
Pengulangan : 10
Pengulangan Selesai !
Contoh 3 parameter
#!/bin/bash

for angka in {10..0..2}
do      
        echo Angka : $angka
done 
OUTPUT !
$ ./forloops
Angka : 10
Angka : 8
Angka : 6
Angka : 4
Angka : 2
Angka : 0

1.2 For Loop dan Break

break statement berfungsi untuk keluar dari sebuh proses loop yang sedang berjalan, coba perhatikan kode dibawah ini !
#!/bin/bash

for l in {0..10}
do      
        # print loops
        echo $l
        # jika $l memiliki nilai 5 maka loop dihentikan
        if [ $l -eq 5 ]
        then    
                break
        fi      
done 
OUTPUT !
$ ./break
0
1
2
3
4
5
Coba pahami kembali contoh kode diatas anda akan mengerti kenapa kok bisa begini outputnya.

1.3 For Loop dan Continue

continue statement berfungsi untuk melanjutkan iterasi berikutnya, dalam kata lain mungkin melewatkan.
#!/bin/bash

for i in {1..10}
do      
         # melewatkan output $i jika $i memiliki nilai 5 dan 10, lalu menggantinya
 dengan output teks "skip"
        if [ $i -eq 5 ] || [ $i -eq 10 ]
        then    
                echo "skip"
                continue
        fi      
        echo "$i"
don
OUTPUT !
./continue
1
2
3
4
skip
6
7
8
9
skip

2. While Loop

Memungkinkan anda menjalankan kode atau command tertentu berulangkali berdasarkan kondisi yang diberikan.

Basic Syntax
while [ condition ]
do
  <code/commands>
done
Contoh Kode
#!/bin/bash

counter=1
while [ $counter -lt 10 ]
do
        echo "During loops"
        ((counter++))
done

2.1 While loop dan Break

#!/bin/bash

counter=1

while [ $counter -lt 10 ]
do
        echo "Running : $counter"
        ((counter++))
        # Jika counter bernilai 7 maka loops akan berhenti
        if [ $counter -eq 7 ]
        then
                break
        fi
done
echo "Sampai Disini Saja"
OUTPUT !
$ ./break
Running : 1
Running : 2
Running : 3
Running : 4
Running : 5
Running : 6
Sampai Disini Saja

2.2 While loop dan Continue

#!/bin/bash

counter=0

while [ $counter -le 10 ]
do
        ((counter++))
        if [ $counter -eq 2 ] || [ $counter -eq 4 ]
        then
                echo "skip !"
                continue
        fi
        echo $counter
done
OUTPUT !
$ ./continue
1
skip !
3
skip !
5
6
7
8
9
10
11

3. Until Loop

until loop hampir sama dengan while loop, yang membuat berbeda adalah until loop akan terus menjalankan command didalamnya sampai condition yang diberikan bersifat True(benar).
#!/bin/bash
counter=0

until [ $counter -gt 10 ]
do
        echo "Until Loop : $counter"
        ((counter++))
done
echo "Selesai"
OUTPUT !
$ ./until
Until Loop : 0
Until Loop : 1
Until Loop : 2
Until Loop : 3
Until Loop : 4
Until Loop : 5
Until Loop : 6
Until Loop : 7
Until Loop : 8
Until Loop : 9
Until Loop : 10
Selesai

Comments