Panduan Linux

Cara Menerima Argument dari Command Line di Bash

Bagi kamu yang sering main-main dengan terminal di Linux atau macOS, pasti nggak asing sama yang namanya “argument” di command line. Argument itu adalah nilai atau informasi yang kita kasih ke sebuah skrip atau program saat kita menjalankannya. Nah, di artikel ini, kita bakal belajar gimana cara menerima argument dari command line di bash. Awalnya mungkin terdengar agak ribet, tapi tenang aja, kita bakal bahas step by step biar gampang dipahami.

Apa Itu Argument?

Sebelum masuk ke teknisnya, kita harus tau dulu apa itu argument. Argument itu kayak parameter yang kita kasih ke sebuah perintah atau skrip. Misalnya, kita ngetik echo Hello World di terminal. Nah, Hello sama World itu adalah dua buah argument yang kita berikan ke perintah echo.

Di skrip bash, kita bisa akses argument-argument ini pake variabel khusus:

Paham kan? Kalo udah, kita lanjut ke prakteknya.

Contoh Sederhana

Misalnya kita punya skrip sederhana bernama greet.sh yang isinya:

#!/bin/bash
echo "Halo, $1! Apa kabar?"

Di sini, $1 bakal nge-refer ke argument pertama yang kita kasih. Jadi kalo kita jalanin skrip ini dengan ./greet.sh Joko, outputnya bakal:

Halo, Joko! Apa kabar?

Gampang banget kan? Sekarang kalo mau kasih lebih dari satu argument gimana? Gak masalah, kita tinggal pake $2, $3, dan seterusnya.

#!/bin/bash
echo "Halo, $1! Apa kabar? Kamu tinggal di $2 ya?"

Nah, kalo kita jalanin dengan ./greet.sh Joko Bandung, outputnya:

Halo, Joko! Apa kabar? Kamu tinggal di Bandung ya?

Menggunakan $# dan $@

Kadang-kadang kita butuh tau berapa banyak argument yang diberikan. Untuk itu, kita bisa pakai $#. Misalnya:

#!/bin/bash
echo "Kamu memberikan $# argument"

Kalo kita jalankan dengan ./greet.sh Joko Bandung Indonesia, outputnya:

Kamu memberikan 3 argument

Nah, terus kalo kita mau akses semua argument sekaligus? Kita bisa pake $@. Contoh:

#!/bin/bash
echo "Argument yang kamu berikan: $@"

Outputnya:

Argument yang kamu berikan: Joko Bandung Indonesia

Looping Through Arguments

Kita juga bisa looping melalui semua argument dengan for loop. Misalnya:

#!/bin/bash
for arg in "$@"
do
  echo "Argument: $arg"
done

Kalo dijalanin pake ./greet.sh Joko Bandung Indonesia, outputnya:

Argument: Joko
Argument: Bandung
Argument: Indonesia

Contoh Penggunaan Lebih Kompleks

Oke, sekarang kita coba bikin skrip yang lebih kompleks. Misalnya skrip buat ngejumlahin angka yang kita kasih.

#!/bin/bash
sum=0
for num in "$@"
do
  sum=$((sum + num))
done
echo "Totalnya adalah: $sum"

Nah, kalo kita jalanin pake ./sum.sh 5 10 15, outputnya:

Totalnya adalah: 30

#Bash Script #Linux