Apa Fungsi Bash di Linux?
Fungsi Bash adalah blok kode yang dapat digunakan kembali dalam skrip bash yang dapat dikelompokkan dan diberi nama untuk menghindari penulisan kode yang sama berulang kali. Sama seperti bahasa pemrograman lainnya, Anda mendapatkan opsi untuk menggunakan fungsi dalam skrip bash Anda. Fungsi membantu Anda mengatur seluruh skrip ke dalam modul yang lebih kecil, membuat kode Anda lebih mudah dibaca, mudah di-debug, dan dapat digunakan kembali. Dengan kata lain, fungsi seperti skrip di dalam skrip.
Bagaimana Mendefinisikan Fungsi di Bash?
Sekarang setelah Anda memiliki gagasan dasar tentang fungsi bash, mari kita lihat cara mendefinisikannya untuk membuat alur kerja Linux kita lebih mudah. Sintaks dasar untuk mendefinisikan fungsi bash adalah:
<function_name>(){
<statements_to_execute>
}
Anda bahkan dapat menggunakan versi satu baris dari sintaks di atas:
<function_name>() { <statements_to_execute>; }
Beberapa hal yang perlu diingat tentang mendefinisikan fungsi bash meliputi:
- Setiap pernyataan dan perintah yang ditulis di dalam {} dikenal sebagai isi fungsi. Untuk nama fungsi, Anda dapat menggunakan apa pun kecuali kata kunci yang merupakan kata spesifik yang diperuntukkan bagi perintah berbeda.
- Tidak seperti skrip bash konvensional, fungsi tidak dapat dijalankan kecuali Anda memanggilnya. Untuk menjalankan suatu fungsi, Anda perlu menggunakan nama fungsi.
- Bila menggunakan versi satu baris, setiap perintah yang Anda tulis harus dipisahkan dengan tanda titik koma ‘;’.
- Semua variabel yang dideklarasikan di dalam suatu fungsi hanya dapat diakses di dalam isi fungsi tersebut.
Mari kita lihat contoh dasar berdasarkan sintaks di atas. Mulailah dengan membuat file baru di editor teks Linux dan tulis kode ini di dalamnya:
#!/bin/bash
hello_world () {
echo 'hello, world'
}
hello_world
Disarankan untuk menyimpan file dengan nama yang sama dengan nama fungsinya. Untuk memanggil file, cukup tulis nama fungsi di dalam prompt shell dan tekan enter.
./hello_world
Cara Meneruskan Argumen ke Fungsi Bash
Terkadang Anda mungkin perlu bekerja dengan beberapa nilai khusus atau bekerja dengan nilai input pengguna dengan fungsi yang Anda buat. Untuk meneruskan argumen ke fungsi bash, cukup sebutkan argumen tersebut setelah nama fungsi setelah menjalankan fungsi tersebut sebagai variabel shell Linux. Sedangkan untuk menggunakan argumen di dalam fungsi, tempatkan argumen tersebut dengan $<argument_position>
, seperti $1
, $2
di bawah dan seterusnya. Misalnya:
#!/bin/bash
greeting () {
echo "Hello $1"
}
greeting "Beebom"
Untuk memanggil, gunakan perintah berikut:
./greeting.sh
Cara Mengembalikan Nilai dari Fungsi Bash
Tidak seperti bahasa pemrograman lain, di bash, Anda tidak dapat mengembalikan nilai dari fungsi tersebut. Anda hanya dapat mengirim status pengembalian dari fungsi bash ke pemanggil dengan nomor apa pun mulai dari 0 hingga 255, di mana 0 mewakili keberhasilan dan nomor lainnya sebagai kesalahan/kegagalan sistem Linux. Misalnya, salin kode ini di editor nano di Linux .
#!/bin/bash
greeting () {
echo "Hello $1"
return 10
}
greeting "Beebom"
echo The return value is $?
Saat Anda memanggil skrip di atas, Anda akan mendapatkan output serupa dengan nilai 10, yang menunjukkan telah terjadi kegagalan atau kesalahan.
Cakupan Variabel dalam Fungsi Bash
Cakupan suatu variabel berarti bagian kode di mana variabel tersebut dapat digunakan dalam bash. Ruang lingkupnya dapat dibagi menjadi dua bagian – lingkup global dan lokal. Dengan cakupan global, variabel dapat digunakan dimana saja termasuk langsung di shell prompt. Cakupan lokal berarti variabel tidak dapat digunakan di luar blok tempat variabel tersebut dideklarasikan.
Setiap variabel yang Anda deklarasikan di dalam fungsi bash dengan kata kunci “lokal” akan berada di bawah cakupan lokal dari badan fungsi dan tidak dapat digunakan di luar badan fungsi. Demikian pula, variabel global dapat diakses dari mana saja di skrip bash tanpa batasan apa pun. Contoh berikut akan memperjelasnya:
#!/bin/bash
global_var="I am global"
function display_global() {
echo "Inside function: $global_var"
local local_var="I am local"
echo "Inside function: $local_var"
}
display_global
echo "Outside function: $global_var"
echo "Outside function: $local_var"
Setelah menjalankan skrip di atas, Anda akan melihat output berikut:
Praktik Terbaik untuk Menggunakan Fungsi di Bash
Fungsi Bash adalah alat canggih yang dapat meningkatkan struktur, pemeliharaan, dan penggunaan kembali skrip bash di Linux. Ikuti praktik terbaik berikut untuk menggunakan fungsi di bash yang dapat meningkatkan alur kerja kami secara signifikan:
- Jaga agar fungsi tetap singkat dan fokus : Usahakan agar fungsi yang Anda tulis tetap singkat, ringkas, dan fokus untuk melakukan satu tugas. Ini akan meningkatkan keterbacaan dan pemeliharaan skrip bash secara keseluruhan.
- Gunakan nama deskriptif : Gunakan nama yang pendek namun deskriptif yang mencerminkan tujuan fungsi sebagai nama fungsi. Nama yang jelas dan bermakna membuat kode lebih jelas, memungkinkan Anda serta pengembang lain untuk memelihara dan mengembangkan kode tersebut.
- Tambahkan komentar : Tidak hanya untuk skrip bash, tetapi untuk semua jenis bahasa pemrograman yang Anda gunakan, gunakan komentar yang menjelaskan bagian kode mana yang melakukan apa.
- Gunakan kembali fungsi : Gunakan kembali fungsi sedapat mungkin untuk menghindari penulisan ulang kode yang sama lagi.
- Hindari bentrokan nama fungsi : Hindari penggunaan fungsi dengan nama yang sama dengan perintah bawaan dan alat baris perintah lainnya.