Fungsi
Bash adalah cara praktis untuk mengelompokkan serangkaian perintah yang sering Anda gunakan bersama. Mereka memungkinkan Anda untuk menggunakan kembali kode, membuat skrip Anda lebih teratur dan lebih mudah dibaca, dan menghemat waktu Anda dengan tidak perlu mengetikkan perintah yang sama berulang kali.
Untuk membuat fungsi di Bash, Anda menggunakan kata kunci fungsi diikuti dengan nama fungsi dan sepasang kurung kurawal yang mengapit perintah-perintah yang menyusun fungsi tersebut. Contoh:
function salam { echo "Halo, dunia!" }123fungsi salam { echo "Hello, world!"}
Ini membuat fungsi bernama `greeting` yang hanya menampilkan string “Hello, world!” ketika dipanggil.
Untuk memanggil suatu fungsi, Anda cukup mengetikkan namanya di skrip shell Anda. Contoh:
greeting1greeting
Ini akan mengeksekusi perintah di dalam fungsi `greeting`, yang dalam hal ini hanyalah perintah echo. Fungsi
Bash dengan Arguments
Anda juga dapat meneruskan argumen ke suatu fungsi dengan mencantumkannya di dalam tanda kurung saat Anda memanggil fungsi tersebut. Contoh:
function salam { echo "Halo, $1!" } salam "John Doe"12345sapaan fungsi { echo "Hello, $1!"} salam "John Doe"
Ini akan menampilkan “Hello, John Doe!” karena variabel `$1` di dalam fungsi mengacu pada argumen pertama yang diteruskan ke fungsi (dalam hal ini, “John Doe”). Anda dapat menggunakan $2, $3, dan seterusnya untuk merujuk ke argumen kedua, ketiga, dan selanjutnya.
Anda juga dapat menentukan nilai default untuk argumen jika tidak disediakan saat fungsi dipanggil. Contoh:
function greeting { name=${1:-World} echo "Halo, $nama!" } salam salam "John"1234567sapaan fungsi { name=${1:-World} echo "Hello, $name!"} salam salam "John"
Panggilan pertama ke `greeting` akan menampilkan “Hello, World!” karena variabel nama disetel ke nilai default "Dunia" jika tidak ada argumen yang diberikan. Panggilan kedua untuk `sapaan` akan menampilkan "Halo, John!" karena variabel nama disetel ke nilai argumen pertama (“John”).
Menentukan Jenis Argumen Menggunakan Perintah Bawaan
Menggunakan perintah bawaan `declare`, Anda juga dapat menentukan jenis argumen yang diharapkan oleh suatu fungsi. Misalnya:
function add { nyatakan -i num1=$1 nyatakan -i num2=$2 echo $((num1 + num2)) } tambahkan 1 21234567fungsi tambahkan { deklarasi -i num1=$1 deklarasi -i num2=$2 echo $(( num1 + num2))} tambahkan 1 2
Fungsi ini mengharapkan dua argumen bilangan bulat dan menambahkannya bersama-sama menggunakan sintaks ekspansi aritmatika `$((…))`. Bendera `declare -i` memberi tahu Bash untuk memperlakukan variabel sebagai integer. Fungsi
Bash dengan Variabel Lokal Fungsi
Bash juga memiliki variabel lokal, yang merupakan variabel yang hanya terlihat di dalam fungsi dan tidak dapat diakses di luarnya. Untuk membuat variabel lokal, Anda menggunakan kata kunci `local` diikuti dengan nama variabelnya. Misalnya:
function count { local i for i in {1..5}; do echo $i done } count echo $i123456789function count { local i for i in {1..5}; do echo $i done} countecho $i
Fungsi count membuat variabel lokal bernama `i` yang digunakan untuk menghitung dari 1 sampai 5. Pernyataan echo `$i` di luar fungsi tidak akan menghasilkan apa pun karena variabel `i` tidak ditentukan di luar function.
Function dengan Return Values
Anda juga dapat mengembalikan nilai dari fungsi menggunakan perintah bawaan `return`. Nilai dari perintah kembali adalah status keluar dari fungsi, yang merupakan angka yang menunjukkan apakah fungsi berhasil diselesaikan atau mengalami kesalahan. Nilai `return` `0` menunjukkan keberhasilan, sedangkan nilai bukan nol menunjukkan kesalahan.
Misalnya:
function add { if [[ $# -ne 2 ]]; lalu kembalikan 1 fi nyatakan -i num1=$1 nyatakan -i num2=$2 kembalikan $((num1 + num2)) } tambahkan 1 2 gema $? tambahkan 1 echo $?12345678910111213fungsi tambahkan { if [[ $# -ne 2 ]]; lalu return 1 fi declare -i num1=$1 declare -i num2=$2 return $((num1 + num2))} add 1 2echo $?add 1echo $?
Pemeriksaan fungsi add untuk memastikan bahwa ia telah menerima tepat dua argumen. Jika belum, ia mengembalikan nilai 1 untuk menunjukkan kesalahan. Jika tidak, ia menambahkan kedua argumen bersama dan mengembalikan hasilnya. Panggilan pertama akan menampilkan 3, sedangkan panggilan kedua akan menampilkan 1.
Print Values In Function
Selain mengembalikan nilai, Anda juga dapat menggunakan perintah echo untuk mencetak nilai dari suatu fungsi. Contoh:
function add { if [[ $# -ne 2 ]]; lalu kembalikan 1 fi nyatakan -i num1=$1 nyatakan -i num2=$2 echo $((num1 + num2)) } hasil=$(tambahkan 10 20) echo "Hasilnya adalah $hasil."1234567891011fungsi tambahkan { jika [[ $ # -ne 2 ]]; lalu return 1 fi declare -i num1=$1 declare -i num2=$2 echo $((num1 + num2))} result=$(add 10 20)echo "Hasilnya adalah $result."
Kode ini akan menampilkan “Hasilnya adalah 30.” karena fungsi add dipanggil menggunakan substitusi perintah (sintaks $(…)) dan hasilnya disimpan dalam variabel result. Fungsi
Bash bisa sangat kuat dan merupakan alat yang berharga untuk mengatur dan menyederhanakan skrip Anda. Mereka memungkinkan Anda untuk menggunakan kembali kode, membuat skrip Anda lebih mudah dibaca, dan menghemat waktu Anda dengan tidak perlu mengetikkan perintah yang sama berulang kali.
Referensi tecadmin.com