Petunjuk Penggunaan Bash Script (dengan Contoh)

Sebagai salah satu tool scripting populer pada Unix, Bash sangatlah berguna bagi para user Linux atau SysAdmin. Nama Bash sendiri merupakan akronim dari Bourne Again Shell. Di artikel ini, Anda akan mempelajari cara menggunakan bash script

Unix memiliki 2 kategori utama shell.

  • Bourne-type shell
  • C shell

Bourne shell diklasifikasikan lebih jauh sebagai:

  • Korn Shell (ksh)
  • Bourne shell (sh)
  • POSIX shell (sh)
  • Bourne Again Shell (bash)

C shell pun memiliki lebih jauh seperti:

  • C shell (csh)
  • TENEX (TOPS) C shell (tcsh)

Bash script merupakan komponen yang sangat berpengaruh dan berguna bagi pengembangan web. Script ini akan mempersingkat task yang berulang ke satu line function call. Dengan demikian, command yang panjang akan dilebur menjadi satu kode yang mudah dijalankan.

Bash Linux tersedia di hampir semua varian Linux dan tidak memerlukan instalasi terpisah. Untuk mengecek daftar shell yang tersedia, gunakan command di bawah ini:

cat /etc/shells

Output dari command tersebut akan seperti ini:

/bin/bash
/bin/sh
/bin/tcsh
/bin/csh

Kenapa Menggunakan Bash Function?

Bash Function dapat:

  • Mengeliminasi task yang berulang-ulang.
  • Menghemat waktu.
  • Menghadirkan urutan aktivitas yang terstruktur, modular, dan terformat.
  • Dengan bash function, Anda bisa menyediakan dynamic value pada command dengan menggunakan command line argument.
  • Menyederhanakan command yang kompleks menjadi satu command aktif yang bisa dijalankan.
  • Digunakan sesering mungkin oleh user. Satu bash function untuk berkali-kali pemakaian.
  • Membuat flow (aliran) logika.
  • Digunakan di awal server (server start-up) atau dengan menambahkan cron job terjadwal.
  • Debug command.
  • Membuat shell command yang interaktif.

Sebagai salah satu tool terbaik, bash akan mempermudah alur kerja dan pembuatan proyek yang Anda lakukan. Banyak kemungkinan yang bisa Anda buat dengan bash function, tapi di artikel ini kami hanya akan membahas dasar-dasarnya saja. Sudah siap menulis script pertama?

Menggunakan Bash

Untuk menggunakan bash, Anda harus terhubung ke server VPS terlebih dulu melalui SSH. Setelah berhasil masuk ke server VPS, Anda siap untuk menjelajahi penggunaan bash function Linux.

Untuk lebih memahami opsi dasar command, cek laman manual bash dengan mengetikkan:

man bash

Buat file .sh dengan menggunakan VIM Editor. Jalankan command di bawah ini untuk membuat file:

vim sampleFunction.sh

Setelah itu, Anda sudah bisa mengedit file .sh.

Output komprehensif tentang command dan penggunaan Bash akan muncul. Setiap bash script harus diawali dengan line di bawah ini:

#!/bin/bash

Command di bawah ini menampilkan path dari bash script:

which bash

Outputnya seperti berikut:

/bin/bash

Bash syntax umumnya seperti ini:

function functionName {
first command
second command
}

Juga dapat ditulis sebagai:

functionName (){
first command
second command
}

Pada satu line, dapat ditulis:

functionName() { first command; second command; }
caca

Contoh penggunaan function di atas dapat Anda lihat di bawah ini. Dengan function ini, pertama-tama Anda akan membuat direktori, kemudian mengubah path-nya agar mengarah ke direktori baru:

sampleFunction () {
mkdir -p $1
cd $1
}

$1 merepresentasikan command line input argument. Bash akan membuat input dinamis di dalam command. Untuk memverifikasi fungsi ini, jalankan:

sampleFunction myDir

myDir merupakan nama direktori yang valid untuk dibuat. Apabila Anda mengecek direktori yang berfungsi saat ini dengan menggunakan command pwd, maka Anda akan lihat bahwa Anda berada di direktori myDir yang baru saja dibuat.

Begitupun dengan command lain yang umum digunakan dapat ditambahkan sebagai bash function.

Jika sudah selesai menggunakan VIM editor untuk mengedit file .sh, simpan dan keluar dari tool, lalu masuk ke mode command dengan menekan tombol ESC, kemudian ketik :wq untuk simpan perubahan dan keluar dari mode.

Dasar Bash Function

Salah satu contoh dasar bash function adalah sebagai berikut:

#!/bin/bash
testfunction(){
   echo "My first function"
}
testfunction

Jika script ini disimpan di testFunction.sh dan dijalankan sebagai ./testFunction.sh, maka outputnya akan seperti ini:

My first function

Echo menampilkan output pada console. Jika Anda mengganti posisi definisi fungsi dengan calling, maka hasilnya akan error. Snippet di bawah ini menunjukkan hasil atau output error.

#!/bin/bash
testfunction
testfunction(){
   echo "My first function"
}

Jadi, sebagai langkah pertama, Anda harus mendefinisikan fungsi lalu meng-invoke-nya.

Bash functions dapat menerima sejumlah parameter. Pada contoh di bawah ini, bash function menerima dua parameter:

#!/bin/bash
testfunction(){
   echo $1
   echo $2
}
testfunction "Hello" "World"

Anda juga dapat menggunakan interactive input dan menjalankan bash function. Berikut adalah contohnya:

#!/bin/bash
addition(){
   sum=$(($1+$2))
   return $sum
}
read -p "Enter a number: " int1
read -p "Enter a number: " int2
add $int1 $int2
echo "The result is : " $?

Pada contoh di atas, value tambahan ditetapkan pada variable sum dan dikembalikan dari fungsi. Interactive input ‘diambil’ dengan menggunakan read untuk kedua angka parameter tersebut. Alhasil, outputnya ditampilkan dengan menggunakan $? yang menyimpan value return $sum dari fungsi.

Bash function selalu mengembalikan satu value.

Untuk menulis atau meninggalkan catatan dalam file, tambahkan simbol #.

Bash script mendukung:

  • While loop
  • For loop
  • If statement
  • And logic
  • Or logic
  • Else If statement
  • Case Statement

Di bawah ini merupakan contoh While loop.

#!/bin/bash
isvalid=true
count=1
while [ $isvalid ]
do
echo $count
if [ $count -eq 5 ];
then
break
fi
((count++))
done

Contoh di atas menggunakan statement while dan dan if. Script tersebut mengeksekusi while loop sebanyak 5 kali sebelum keluar setelah memeriksa statemen kondisional if.

Outputnya akan seperti ini:

1
2
3
4
5

For loop dapat digunakan untuk menambah serta mengurangi counter. Berikut ini merupakan contoh dari for loop:

#!/bin/bash
for (( count=10; count>0; count-- ))
do
echo -n "$count "
done

Output for loop ini akan seperti ini:

10 9 8 7 6 5 4 3 2 1

Pada bash, simbol && merepresentasikan logika AND, sedangkan simbol || merepresentasikan logika OR.

Dengan statement If, Anda akan mendefinisikan Else if. Salah satu contohnya seperti di bawah ini:

#!/bin/bash
echo "Enter a valid number"
read n
if [ $n -eq 101 ];
then
echo "This is first number"
elif [ $n -eq 510 ];
then
echo " This is second number "
elif [ $n -eq 999 ];
then
echo " This is third number "
else
echo "No numbers over here"
fi

Contoh yang sama seperti di atas juga dapat ditulis menggunakan case statement, seperti ini:

#!/bin/bash
echo " Enter a valid number"
read n
case $n in
101)
Echo " This is the first number " ;;
510)
echo " This is the second number " ;;
999)
echo " This is the third number " ;;
*)
echo " No numbers over here " ;;
esac

Pada case statement, simbol ;; merepresentasikan case break.

Kesimpulan

Sampai di sini, Anda sudah memahami dasar-dasar bash function. Bash merupakan tool yang sangat berguna serta mudah dipelajari. Oleh karena itu, galilah terus rasa ingin tahu Anda dengan mencari contoh-contoh penggunaan bash dan memaksimalkannya dalam pengembangan web. Selamat mencoba!

Author
Penulis

Nadia Agatha

Nadia merupakan penerjemah lepas sejak 2016, kini ia menjadi penerjemah untuk Hostinger. Ia gemar membaca dan melakukan penelitian seputar penerjemahan dan sosiolinguistik. Disamping itu, ia juga suka bermain dengan kucingnya dan bercengkrama bersama teman-temannya di waktu senggang.