Diskon 50%. semua rencana, waktu terbatas. Mulai pukul $2.48/mo
11 menit lagi
Server & OS

Penjelasan Fungsi Bash: Sintaks, Contoh, dan Kasus Penggunaan

Kelly Watson By Kelly Watson 11 menit membaca Diperbarui 14 Desember 2025
Ilustrasi 3D abstrak dari blok kode biru menyala yang dirakit menjadi struktur modular, mewakili fungsi Bash

Fungsi Bash mengelompokkan perintah terkait di bawah satu nama. Saat Anda memanggil nama itu, seluruh blok dijalankan. Anda dapat meneruskan argumen untuk menyesuaikan perilaku dan mengembalikan nilai untuk mengomunikasikan hasil. Ini membuat kode Anda tetap bersih dan mudah dipelihara.

Linux mendominasi lingkungan server secara global, jadi menguasai fungsi Bash kini menjadi lebih penting daripada sebelumnya. Fungsi mengubah skrip yang berantakan menjadi otomatisasi yang bersih dan dapat digunakan kembali.

Panduan ini memandu Anda melalui sintaksis dasar hingga kasus penggunaan tingkat lanjut. Anda akan mempelajari cara mendeklarasikan fungsi, meneruskan parameter, menangani nilai kembalian, dan melihat sepuluh contoh praktis yang dapat Anda gunakan dalam skrip Anda sendiri.

TL;DR

  • Fungsi Bash diberi nama blok kode yang dapat Anda gunakan kembali di seluruh skrip Anda
  • Tentukan fungsi menggunakan nama_fungsi() { perintah; } sintaksis
  • Sampaikan argumen menggunakan $1, $2, $3 parameter posisi
  • Fungsi meningkatkan keterbacaan kode, modularitas, dan pemeliharaan
  • Menggunakan kembali untuk keluar dari fungsi dan mengkomunikasikan kode status (0 = berhasil, bukan nol = gagal)
  • Fungsi dapat dibagikan antar skrip menggunakan sumber or ekspor -f
  • Contoh praktisnya termasuk pencadangan file, pemantauan disk, validasi input, dan pemeriksaan layanan

Apa itu Skrip Bash?

Ilustrasi 3D dari gulungan digital dengan tulisan kode Bash yang bersinar, mewakili otomatisasi skrip Bash.

Skrip Bash adalah metode otomatisasi tugas menggunakan shell Bash. Ini berfungsi sebagai antarmuka baris perintah default untuk Linux dan tetap menjadi alat standar di macOS. Skrip Bash adalah program yang dikodekan dalam bahasa skrip Bash, yang dapat dijalankan di terminal atau sebagai file skrip mandiri.

Dengan Penggunaan desktop Linux terus meningkat dan sistem operasi yang mendominasi lingkungan server di seluruh dunia, keterampilan skrip Bash telah menjadi hal yang berharga bagi para profesional TI. Bahasa ini terintegrasi dengan baik dengan alat DevOps seperti Docker, Kubernetes, dan pipeline CI/CD.

Skrip Bash memungkinkan Anda menyelesaikan tugas mulai dari perintah sederhana hingga otomatisasi kompleks dan administrasi sistem. Anda dapat mengotomatiskan tugas yang berulang, mengembangkan skrip pemeliharaan, membangun jalur penerapan, mengelola sistem perangkat lunak, dan memanipulasi data.

Apa Itu Fungsi Bash?

Ilustrasi digital futuristik yang memperlihatkan data baris perintah berantakan yang diatur oleh gerbang pemrosesan yang bersinar, melambangkan cara kerja fungsi Bash, dengan ruang kosong di sebelah kiri.

Fungsi Bash dapat didefinisikan sebagai sekumpulan perintah yang ditentukan dalam skrip Bash atau diatur secara interaktif pada prompt perintah, bergantung pada kasus penggunaan. Setelah ditentukan, fungsi Bash dapat dipanggil beberapa kali dalam skrip atau skrip lain, seperti perintah shell biasa.

Fungsi Bash memungkinkan Anda membuat blok kode yang dapat digunakan kembali yang dapat melakukan operasi kompleks, mengatur kode, dan menyederhanakan skrip Anda. Anda dapat meneruskan argumen ke fungsi Bash, lalu menggunakannya di dalam fungsi tersebut untuk melakukan operasi. Fungsi Bash mengembalikan nilai yang dapat Anda gunakan di tempat lain dalam skrip Anda.

Kami akan membahas beberapa gaya implementasi tertentu, termasuk fungsi_sederhana untuk logika dasar, input_sederhana untuk penanganan argumen, dan struktur lanjutan seperti fibonnaci_recursion.

Dasar-dasar fungsi Bash penting bagi administrator sistem atau insinyur DevOps yang bekerja dengan otomatisasi. Bagian berikut membahas masing-masing jenis ini secara rinci.

Mengapa Menggunakan Fungsi Bash?

Roda gigi biru menyala dengan simbol pengoptimalan yang menggerakkan mesin kode, mewakili efisiensi dan kecepatan yang diperoleh dengan menggunakan fungsi Bash.

Sekarang setelah definisi fungsi Bash tercakup, mari kita tinjau keuntungan utamanya. Bagian ini membantu Anda memahami fungsi mana yang paling berguna.

Dapat digunakan kembali

Anda membuat fungsi Bash, dan Anda memiliki alat yang ampuh. Anda dapat menulis blok kode satu kali dan menggunakannya kembali beberapa kali dalam skrip Anda atau bahkan di skrip lain.

Hal ini membuat kode Anda lebih efisien dan menghemat waktu dengan menghilangkan duplikasi. Mempertahankan kode Anda menjadi lebih sederhana karena Anda hanya perlu mengubah fungsinya di satu tempat.

Keterbacaan

Skrip yang rumit mungkin sulit diuraikan. Fungsi Bash mengatasi masalah ini dengan memecah skrip Anda menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola.

Setiap fungsi memiliki tujuan tertentu dengan nama deskriptif yang menjelaskan perannya. Ini membantu Anda dan orang lain memahami dan memelihara kode dengan lebih mudah.

Modularitas

Fungsi mengatur kode Anda. Anda dapat membagi logika menjadi modul yang lebih kecil, sehingga struktur skrip Anda tetap bersih dan mudah dikelola.

Dan jika Anda perlu menambahkan fitur baru, Anda dapat melakukannya tanpa mengacaukan bagian lain dari skrip Anda. Ketika tiba waktunya untuk menghapus atau mengubah fungsi, sisa skrip Anda tetap utuh.

Parameter Fungsi Bash

Anda bisa meneruskan argumen, atau parameter, ke fungsi Anda. Argumen ini memungkinkan fungsi Anda beradaptasi dan melakukan tindakan berbeda berdasarkan masukan yang diterima.

Hal ini membuka banyak kemungkinan sekaligus membuat fungsi Anda lebih fleksibel dan mudah beradaptasi. Daripada menulis kode serupa beberapa kali, Anda menulis satu fungsi yang menangani input berbeda.

Bagaimana dan Dimana Menggunakan Fungsi Bash?

Bagan alur kaca 3D memperlihatkan eksekusi skrip yang bercabang menjadi blok fungsi dan kembali, memvisualisasikan bagaimana fungsi Bash digunakan dalam aliran logika.

Sekarang, mari kita membahas sedikit secara teknis definisi kita dan mulai dengan contoh singkat tentang cara membuat fungsi Bash. Sintaks berikut dapat digunakan di lingkungan berbasis Unix. Jika Anda bekerja di Windows, Anda bisa instal Linux Bash di Windows 10 untuk mengikuti contoh-contoh ini.

Membuat Fungsi Bash

Mulailah dengan menggunakan struktur perintah berikut:

nama_fungsi () {

    # perintah masuk ke sini

}

 

Setelah Anda membuat fungsinya, Anda dapat menggunakannya dalam kode Anda kapan saja. Berikut ini contoh yang berfungsi:

menyapa () {

    gema “Halo, $1!”

}

 

Panggil fungsi ini dengan salam Dunia untuk menampilkan “Halo, Dunia!” Itu $1 mewakili argumen pertama yang diteruskan ke fungsi.

Berikut adalah beberapa contoh praktis yang dapat Anda gunakan dalam skrip Anda sendiri:

# Buat cadangan file apa pun

file_cadangan () {

    cp “$1” “$1.bak”

    echo “Cadangan dibuat: $1.bak”

}

 

# Periksa apakah ada direktori, buat jika tidak

pastikan_dir() {

    jika [ ! -d “$1” ]; Kemudian

        mkdir -p “$1”

        echo “Direktori yang dibuat: $1”

    fi

}

 

# Catat pesan dengan stempel waktu

log_pesan() {

    gema “[$(tanggal '+%Y-%m-%d %H:%M:%S')] $1”

}

 

Anda mendefinisikan fungsi Bash khusus ini satu kali dan memanggilnya kapan pun diperlukan di seluruh skrip Anda.

Fungsi Sintaks Penting

Fungsi berperilaku seperti skrip mini dalam skrip utama Anda, tetapi fungsi tersebut berbagi memori shell. Ingatlah ketiga perilaku spesifik ini saat menulisnya.

Cakupan Variabel (Lokal vs. Global)

Variabel di dalam fungsi bersifat global secara default. Jika Anda mendefinisikan my_var=”ujian” di dalam suatu fungsi, itu menimpa semua yang sudah ada my_var dalam naskahmu. Selalu gunakan lokal untuk membatasi variabel ke fungsi mencegah efek samping:

lokal my_var=”nilai”

Parameter Posisi

Fungsi membaca argumen menggunakan hal yang sama $1, $2, Dan $@ variabel sebagai skrip. Ini bersifat lokal pada fungsi dan diatur ulang saat fungsi keluar. Argumen asli skrip tidak dapat diakses di dalam fungsi kecuali Anda meneruskannya secara eksplisit.

Nilai Pengembalian

Fungsi Bash tidak mengembalikan data seperti fungsi Python atau JavaScript. Itu kembali perintah hanya menetapkan status keluar (0-255) untuk menunjukkan keberhasilan atau kegagalan. Untuk mengembalikan data aktual (seperti string atau perhitungan), gema hasilnya dan tangkap saat memanggil fungsi:

hasil=$(fungsi_saya)

10 Contoh Fungsi Bash Berguna Teratas

Sekarang setelah Anda memahami fungsi Bash dan cara membuatnya, berikut sepuluh contoh praktis yang dapat Anda tambahkan ke skrip Anda. Setiap fungsi memecahkan masalah umum dan menunjukkan struktur, argumen, dan nilai kembalian yang tepat.

1. Fungsi Cadangan File

Membuat cadangan file apa pun yang diberi stempel waktu:

file_cadangan () {

    file lokal=”$1″

    cadangan lokal=”${file}.$(tanggal +%Y%m%d_%H%M%S).bak”

    

    jika [ -f “$file” ]; Kemudian

        cp “$file” “$cadangan”

        echo “Cadangan dibuat: $backup”

        kembali 0

    kalau tidak

        gema “Kesalahan: File tidak ditemukan”

        kembali 1

    fi

}

 

Penggunaan: file_cadangan /etc/nginx/nginx.conf

2. Pemeriksa Direktori

Memeriksa apakah direktori ada dan membuatnya jika diperlukan:

pastikan_dir() {

    direktori lokal=”$1″

    

    jika [ ! -d “$dir” ]; Kemudian

        mkdir -p “$dir”

        gema “Dibuat: $dir”

    fi

}

 

Penggunaan: sure_dir /var/log/myapp

3. Pencatat Waktu yang diberi stempel

Menambahkan stempel waktu ke pesan log untuk debugging:

log_pesan() {

    tingkat lokal=”$1″

    pesan lokal=”$2″

    gema “[$(tanggal '+%Y-%m-%d %H:%M:%S')] [$level] $pesan”

}

 

Penggunaan: log_message “INFO” “Skrip dimulai”

4. Pemantau Ruang Disk

Memeriksa penggunaan disk dan memperingatkan jika melebihi ambang batas:

check_disk_space () {

    ambang batas lokal=”${1:-80}”

    penggunaan lokal=$(df / | tail -1 | awk '{print $5}' | tr -d '%')

    

    jika [ “$penggunaan” -gt “$ambang batas” ]; Kemudian

        echo “Peringatan: Penggunaan disk pada ${usage}%”

        kembali 1

    fi

    kembali 0

}

 

Penggunaan: check_disk_space 90

5. Validator Masukan

Memvalidasi bahwa input pengguna tidak kosong:

validasi_input() {

    masukan lokal=”$1″

    nama lokal=”$2″

    

    jika [ -z “$masukan” ]; Kemudian

        echo “Kesalahan: $nama tidak boleh kosong”

        kembali 1

    fi

    kembali 0

}

 

Penggunaan: validasi_input “$nama pengguna” “Nama pengguna”

6. Pemeriksa Status Layanan

Memeriksa apakah layanan sedang berjalan dan melaporkan statusnya:

check_service () {

    layanan lokal=”$1″

    

    jika systemctl aktif –diam “$service”; Kemudian

        gema “$layanan sedang berjalan”

        kembali 0

    kalau tidak

        gema “$layanan tidak berjalan”

        kembali 1

    fi

}

 

Penggunaan: check_service nginx

7. Ekstraktor Ekstensi File

Mengekstrak ekstensi dari nama file:

dapatkan_ekstensi () {

    nama file lokal=”$1″

    gema “${nama file##*.}”

}

 

Penggunaan: ext=$(get_extension “dokumen.pdf”)

8. Pemangkas Senar

Menghapus spasi awal dan akhir dari string:

trim_string () {

    str lokal=”$1″

    str=”${str#”${str%%[![:spasi:]]*}”}”

    str=”${str%”${str##*[![:spasi:]]}”}”

    gema “$str”

}

 

Penggunaan: bersih=$(trim_string ” halo dunia “)

9. Pengarsip File Aman

Memindahkan file ke direktori khusus $HOME/.trash alih-alih menghapusnya secara permanen. Ini menambahkan stempel waktu ke nama file untuk mencegah penimpaan cadangan sebelumnya.

aman_hapus() {

    file lokal=”$1″

    sampah lokal=”$HOME/.trash”

    # Tambahkan stempel waktu untuk menghindari penimpaan file yang ada

    nama_baru lokal=”$(nama dasar “$file”)_$(tanggal +%s)”

    

    mkdir -p “$sampah”

 

    jika [ -e “$file” ]; Kemudian

        mv “$file” “$sampah/$nama_baru”

        echo “Dipindahkan ke arsip: $file -> $trash/$new_name”

    kalau tidak

        gema “Kesalahan: $file tidak ditemukan”

        kembali 1

    fi

}

 

Penggunaan: safe_remove old_script.sh

 

10. Pelapor Status

Mendemonstrasikan mekanisme pengembalian fungsi Bash untuk penanganan kesalahan. Nilai kembalian fungsi Bash menunjukkan keberhasilan (0) atau kegagalan (bukan nol):

data_proses() {

    file lokal=”$1″

    

    jika [ ! -f “$file” ]; Kemudian

        kembali 1

    fi

    

    # Memproses file

    kucing “$file” | toilet -l

    kembali 0

}

 

# Periksa nilai pengembalian

proses_data “data.txt”

jika [ $? -persamaan 0 ]; Kemudian

    gema “Pemrosesan selesai”

kalau tidak

    gema “Pemrosesan gagal”

fi

 

Itu $? variabel menangkap status keluar dari perintah atau pemanggilan fungsi terakhir.

Fungsi Tujuan Fitur Utama
file_cadangan Buat cadangan file Penamaan dengan stempel waktu
pastikan_dir Manajemen direktori Dibuat jika hilang
log_message Pencatatan Awalan stempel waktu
check_disk_space Pemantauan sistem Peringatan ambang batas
validasi_input Validasi masukan Pemeriksaan string kosong
check_service Pemantauan layanan Integrasi sistem
dapatkan_ekstensi Penguraian string Perluasan parameter
trim_string Pembersihan tali Penghapusan spasi
aman_hapus Penghapusan aman Direktori sampah
proses_data Penanganan kesalahan Kembalikan nilai

Menjalankan Fungsi Bash di VPS

Fungsi Bash menjadi kuat ketika dijalankan pada lingkungan server khusus. Kita VPS Linux memberi Anda akses root penuh untuk menyesuaikan lingkungan shell Anda, membuat pustaka fungsi seluruh sistem, dan mengotomatiskan tugas manajemen server tanpa batasan.

Dengan VPS, Anda dapat menyimpan fungsi yang dapat digunakan kembali /etc/profile.d/ untuk semua pengguna, jadwalkan skrip berbasis fungsi melalui tugas cron, dan bangun jalur otomatisasi untuk penerapan dan pemeliharaan. Kami menawarkan server di 12 lokasi global dengan kecepatan jaringan hingga 40 Gbps dan memori DDR5, yang berarti eksekusi skrip lebih cepat dan pemrosesan data lebih lancar.

Tingkat kontrol ini menjadikan VPS ideal bagi siapa pun yang serius dengan skrip shell dan otomatisasi sistem.

Kesimpulan

Fungsi Bash adalah kunci untuk membuat skrip modular dan dapat digunakan kembali. Mereka memungkinkan Anda mengelompokkan perintah terkait dan merangkum logika kompleks untuk membuat kode Anda lebih mudah dibaca dan dipelihara. Jika Anda mengelola infrastruktur cloud, mengotomatiskan alur penerapan, atau menangani tugas administrasi sistem rutin, fungsi membantu menjaga skrip Anda tetap teratur dan efisien.

Dalam artikel ini, kami membahas dasar-dasar fungsi Bash, termasuk cara mendefinisikan dan memanggilnya, sepuluh contoh fungsi praktis, dan kasus penggunaan umum untuk membantu Anda memulai proyek otomatisasi Anda sendiri.

Dikombinasikan dengan struktur kontrol seperti Bash jika pernyataan, fungsi memberi Anda landasan untuk otomatisasi yang canggih. Dengan menggunakan fungsi Bash dalam skrip, Anda dapat menulis kode yang lebih bersih dan modular serta lebih mudah dipahami dan dipelihara.

Pertanyaan Umum

Bisakah fungsi Bash memiliki variabel lokal?

Ya. Fungsi Bash dapat memiliki variabel lokal menggunakan kata kunci lokal. Hal ini membatasi cakupan variabel pada fungsi, mencegahnya mempengaruhi variabel dengan nama yang sama di luar fungsi.

Bisakah fungsi Bash bersifat rekursif?

Ya, fungsi Bash bisa bersifat rekursif. Bash memiliki ukuran tumpukan panggilan default yang relatif kecil, jadi bergantung pada fungsi rekursif yang Anda pikirkan, Anda mungkin perlu meningkatkannya menggunakan perintah ulimit -s sebelum dieksekusi.

Bisakah saya menggunakan fungsi Bash di skrip lain?

Ya, Anda dapat berbagi fungsi Bash antar skrip menggunakan perintah source (atau singkatannya .). Dengan mencari file yang berisi definisi fungsi Anda, Anda membuat fungsi tersebut tersedia dalam skrip pemanggil. Untuk proses anak, gunakan ekspor -f function_name agar fungsi dapat diakses.

Bisakah saya menggunakan fungsi Bash di saluran pipa?

Ya, tetapi memerlukan langkah khusus untuk perintah eksternal. Di dalam skrip, Anda dapat menyalurkan data langsung ke suatu fungsi (misalnya, file cat | fungsi_saya). Namun, perintah seperti xargs atau find -exec dijalankan di lingkungan baru. Untuk menggunakan suatu fungsi di sana, Anda harus mengekspornya (export -f my_func) dan kemudian secara eksplisit memanggil Bash (misalnya, xargs bash -c 'my_func “$@”').

Apa fungsi skrip shell?

Fungsi skrip shell adalah blok kode tertentu dalam skrip shell yang melayani tujuan tertentu dan dapat dipanggil dari berbagai bagian skrip. Fungsi menawarkan nilai yang besar dalam hal modularitas kode, penggunaan kembali yang lebih baik, dan pemeliharaan yang lebih mudah. Dalam konteks skrip Bash, fungsi dienkapsulasi dalam keseluruhan skrip.

Membagikan

Selengkapnya dari blog

Teruslah membaca.

Aplikasi yang Dihosting Sendiri Terbaik yang Dapat Anda Jalankan dengan gambar sampul Cosmos Cloud dengan panel aplikasi di sekitar dasbor Cosmos.
Server & OS

Aplikasi Self-Hosted Terbaik yang Dapat Anda Jalankan Dengan Cosmos Cloud: File, Media, Kata Sandi, Otomatisasi, & Lainnya!

Mungkin Anda sudah menyiapkan Cosmos Cloud dan sekarang ingin melihat aplikasi apa yang cocok dengannya, atau mungkin Anda bahkan belum memutuskan Cosmos dan hanya ingin melihat seberapa cocok aplikasi tersebut dengan pekerjaan Anda.

Nick PerakNick Perak 16 menit membaca
Portainer vs Cosmos Cloud untuk Mengelola Aplikasi Docker ditutupi dengan diagram pengaturan hybrid dan operasi neon vs blok akses.
Server & OS

Portainer vs Cosmos Cloud: Paling Cocok untuk Manajemen Aplikasi Docker

Jika Anda sudah mengetahui Docker dan hanya ingin cara yang lebih bersih untuk menjalankan tumpukan aplikasi yang terus bertambah, berikut adalah jawaban singkat untuk Portainer vs Cosmos Cloud. Portainer adalah pilihan yang lebih kuat untuk sutradara

Nick PerakNick Perak 14 menit membaca
Grafik fitur Cosmos Cloud vs CasaOS vs Umbrel menunjukkan tiga jalur yang dihosting sendiri di dalam satu dunia jaringan cloud abstrak.
Server & OS

Cosmos Cloud vs CasaOS vs Umbrel: Platform Self-Hosted Mana yang Sesuai dengan Pengaturan Anda?

Jawaban singkatnya adalah CasaOS masih merupakan tempat termudah untuk memulai, Umbrel memiliki nuansa kurasi paling bersih, dan Cosmos Cloud lebih masuk akal jika Anda menginginkan kontrol yang lebih ketat atas doma.

Nick PerakNick Perak 11 menit membaca

Siap untuk diterapkan? Mulai dari $2,48/bln.

Cloud independen, sejak 2008. AMD EPYC, NVMe, 40 Gbps. Uang kembali 14 hari.