0Pricing
Linux Command Line & Bash Scripting Mastery · Pelajaran

Fungsi dalam Skrip Bash

Atur kode Anda dengan fungsi untuk mendorong penggunaan ulang serta membuat skrip lebih rapi dan mudah dipelihara.

Fungsi dalam Skrip Bash adalah pelajaran Linux Command Line & Bash Scripting Mastery gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Linux Command Line & Bash Scripting Mastery, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Linux Command Line & Bash Scripting Mastery mencakup 4 pelajaran total.

Apa Itu Fungsi Bash?

Dalam pembuatan skrip Bash, fungsi adalah blok kode yang menjalankan tugas tertentu. Anggaplah fungsi sebagai skrip mini di dalam skrip utama Anda.

Fungsi membantu Anda:

  • Menggunakan Ulang Kode: Menulis suatu logika sekali dan memanggilnya berkali-kali.
  • Mengatur Skrip: Memecah tugas yang rumit menjadi unit-unit yang lebih kecil dan mudah dikelola.
  • Meningkatkan Keterbacaan: Membuat skrip lebih mudah dipahami dan dipelihara.

Mendefinisikan Fungsi Sederhana

Ada dua cara umum untuk mendefinisikan fungsi dalam Bash. Keduanya menghasilkan hal yang sama. Sintaks pertama adalah yang paling umum digunakan.

Coba jalankan contoh ini. Contoh ini mendefinisikan fungsi, tetapi belum memanggilnya!

#!/bin/bash

# Method 1: The most common way
my_first_func () {
  echo "Hello from my_first_func!"
}

# Method 2: Using the 'function' keyword
function my_second_func {
  echo "Hello from my_second_func!"
}

echo "Functions defined, but not called."

Memanggil Fungsi Anda

Mendefinisikan fungsi tidak akan mengeksekusinya. Untuk menjalankan kode di dalam fungsi, Anda cukup memanggilnya berdasarkan namanya, seperti perintah lainnya.

Perhatikan cara kami memanggil my_function setelah mendefinisikannya:

#!/bin/bash

my_function () {
  echo "This message is from inside the function."
}

echo "Script started."
my_function # Call the function here
echo "Script finished."

Variabel Lokal dalam Fungsi

Secara bawaan, variabel yang didefinisikan di dalam fungsi Bash bersifat global, yang berarti variabel tersebut dapat diakses dan diubah dari mana saja dalam skrip.

Untuk mencegah efek samping yang tidak diinginkan dan menjaga fungsi tetap terisolasi, gunakan kata kunci local untuk mendeklarasikan variabel sebagai lokal. Variabel lokal hanya ada di dalam fungsi tersebut.

#!/bin/bash

global_message="I'm a global message"

my_function () {
  local func_message="I'm a local message"
  global_message="I've been changed by the function!"
  echo "Inside func: $func_message"
  echo "Inside func: $global_message"
}

echo "Before func: $global_message"
my_function
echo "After func: $global_message"
echo "After func: $func_message (This will be empty)"

Meneruskan Argumen ke Fungsi

Anda dapat meneruskan informasi ke dalam fungsi menggunakan argumen, sama seperti pada perintah shell biasa. Di dalam fungsi, argumen ini diakses menggunakan variabel khusus:

  • $1, $2, $3...: Argumen individual
  • $#: Jumlah total argumen
  • $@: Semua argumen sebagai string terpisah
#!/bin/bash

greet_user () {
  echo "Hello, $1!"
  echo "You are $2 years old."
  echo "Total arguments received: $#"
  echo "All arguments: $@"
}

echo "Calling greet_user with two arguments:"
greet_user "Alice" 30

echo "\nCalling greet_user with one argument:"
greet_user "Bob"

Status Keluar Fungsi (Return)

Seperti perintah lainnya, fungsi mengembalikan status keluar. Berdasarkan konvensi, 0 berarti berhasil, sedangkan nilai selain nol menunjukkan kesalahan.

Anda menggunakan kata kunci return untuk menetapkan status keluar ini. Selanjutnya, Anda dapat memeriksanya menggunakan variabel khusus $? tepat setelah pemanggilan fungsi.

#!/bin/bash

check_age () {
  local age=$1
  if [ "$age" -ge 18 ]; then
    return 0 # Success: 18 or older
  else
    return 1 # Failure: under 18
  fi
}

check_age 25
echo "Exit status for 25: $?"

check_age 16
echo "Exit status for 16: $?"

if check_age 20; then
  echo "User is an adult."
else
  echo "User is a minor."
fi

Menangkap Keluaran Fungsi

Jika return mengirimkan status keluar, fungsi sebaiknya menggunakan echo untuk menulis nilai tersebut ke keluaran standar jika Anda ingin fungsi menghasilkan 'nilai' yang dapat disimpan dalam variabel.

Selanjutnya, Anda dapat menangkap keluaran ini menggunakan substitusi perintah dengan membungkus pemanggilan fungsi dalam $(...).

#!/bin/bash

get_full_name () {
  local first_name=$1
  local last_name=$2
  echo "$first_name $last_name" # Echo the full name
}

name="$(get_full_name "John" "Doe")"

echo "Full name captured: $name"

calculate_area () {
  local length=$1
  local width=$2
  echo $((length * width))
}

area=$(calculate_area 10 5)
echo "Calculated area: $area"

Contoh Praktis: Pencatat Log

Berikut contoh praktis fungsi yang dapat digunakan ulang: pencatat log sederhana. Fungsi ini dapat dipanggil di seluruh skrip untuk mencetak pesan beserta stempel waktu, sehingga penelusuran kesalahan dan pemantauan menjadi lebih mudah.

#!/bin/bash

log_message () {
  local timestamp=$(date +"%Y-%m-%d %H:%M:%S")
  local message="$1"
  echo "[$timestamp] $message"
}

log_message "Script execution started."
sleep 1 # Simulate some work
log_message "Processing user data..."
sleep 1
log_message "Operation completed successfully."

Praktik Terbaik untuk Fungsi

Untuk menulis skrip yang jelas dan mudah dipelihara dengan fungsi, pertimbangkan kiat berikut:

  • Jaga Kesederhanaannya: Setiap fungsi sebaiknya melakukan satu hal dengan baik.
  • Gunakan Nama yang Bermakna: Gunakan nama deskriptif seperti validate_input atau create_backup.
  • Gunakan local: Selalu gunakan local untuk variabel di dalam fungsi agar terhindar dari konflik.
  • Tambahkan Komentar: Jelaskan fungsi yang dilakukan, argumennya, dan nilai yang dikembalikannya.
  • Validasi Masukan: Jika fungsi mengharapkan argumen tertentu, periksa argumen tersebut.

Pemeriksaan Argumen Fungsi

Uji pemahaman Anda tentang cara argumen diteruskan ke dan diakses dalam fungsi Bash.

Fungsi: Ringkasan & Langkah Berikutnya

Kerja bagus! Anda telah menguasai fungsi Bash.

Materi yang telah dibahas:

  • Mendefinisikan dan memanggil fungsi.
  • Menggunakan local untuk cakupan variabel.
  • Meneruskan argumen dengan $1, $#, $@.
  • Menetapkan status keluar dengan return.
  • Menangkap keluaran dengan echo dan substitusi perintah.

Fungsi sangat penting untuk menulis skrip Bash yang modular, dapat digunakan ulang, dan mudah dipelihara. Teruslah berlatih agar skrip Anda semakin andal dan teratur!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Fungsi dalam Skrip Bash” gratis?

Ya — teks lengkap “Fungsi dalam Skrip Bash” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Linux Command Line & Bash Scripting Mastery, upgrade ke CoddyKit PRO. Kursus Linux Command Line & Bash Scripting Mastery mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Fungsi dalam Skrip Bash”?

Atur kode Anda dengan fungsi untuk mendorong penggunaan ulang serta membuat skrip lebih rapi dan mudah dipelihara. Kamu berlatih Linux Command Line & Bash Scripting Mastery dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Linux Command Line & Bash Scripting Mastery?

Tidak diperlukan pengalaman sebelumnya. Linux Command Line & Bash Scripting Mastery di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Fungsi dalam Skrip Bash” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Linux Command Line & Bash Scripting Mastery ini?

Ya. Setiap pelajaran Linux Command Line & Bash Scripting Mastery menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Konstruksi Perulangan (for, while)
  2. Fungsi dalam Skrip Bash
  3. Argumen dan Opsi Skrip ($@, $#, getopts)
  4. Pernyataan case & Pencocokan Pola
← Kembali ke Linux Command Line & Bash Scripting Mastery