Fungsi Shell & Potongan Kode yang Dapat Digunakan Ulang
Definisikan dan gunakan fungsi Bash untuk mengemas perintah menjadi blok pembangun yang dapat digunakan ulang dan menerima parameter di shell Anda.
Fungsi Shell & Potongan Kode yang Dapat Digunakan Ulang adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 4 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 DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Mengapa Fungsi Shell?
Fungsi shell mengelompokkan sekumpulan perintah dalam satu nama sehingga Anda dapat menggunakannya kembali tanpa mengetik ulang.
- Lebih cepat daripada menyalin-tempel perintah
- Lebih rapi daripada alias yang panjang
- Dapat menerima argumen, tidak seperti alias
mkcd() {
mkdir -p "$1" && cd "$1"
}Mendefinisikan Fungsi
Bentuk paling sederhana menggunakan sintaks name() { ... }. Perintah di dalam tanda kurung kurawal dijalankan ketika Anda memanggil fungsi berdasarkan namanya.
greet() {
echo "Hello from a function"
}
greetArgumen Fungsi
Fungsi menerima parameter posisi seperti halnya skrip: $1, $2. $# adalah jumlahnya dan $@ memperluas semua argumen.
backup() {
cp "$1" "$1.bak"
echo "Backed up $1"
}
backup notes.txtNilai Kembalian dan Status Keluar
Fungsi mengembalikan status keluar melalui return N (0–255). Gunakan ini untuk pemeriksaan berhasil/gagal, bukan untuk mengembalikan data.
is_root() {
[ "$(id -u)" -eq 0 ] && return 0 || return 1
}
if is_root; then echo root; else echo normal; fiMengembalikan Output melalui echo
Karena return hanya membawa kode status, output sebenarnya dicetak dan ditangkap dengan $( ).
timestamp() {
date +%Y%m%d-%H%M%S
}
name="log-$(timestamp).txt"
echo "$name"Variabel Lokal
Secara bawaan, variabel di dalam fungsi bersifat global. Gunakan local untuk membatasi cakupan variabel pada fungsi dan mencegahnya mengotori shell Anda.
count_lines() {
local n
n=$(wc -l < "$1")
echo "$1 has $n lines"
}Nilai Argumen Bawaan
Gunakan ekspansi parameter ${1:-default} untuk menggunakan nilai bawaan ketika argumen tidak tersedia.
say() {
local msg="${1:-Hello World}"
echo "$msg"
}
say
say "Custom message"Fungsi vs Alias
Alias hanya mengganti teks dan tidak dapat menerima argumen posisi dengan baik. Fungsi dapat membuat percabangan, melakukan perulangan, dan memproses masukan.
- Gunakan alias untuk pintasan tetap
- Gunakan fungsi saat Anda memerlukan logika atau argumen
alias ll='ls -la'
lt() { ls -la "${1:-.}" | tail -n "${2:-5}"; }Membuat Fungsi Tetap Tersedia
Fungsi yang didefinisikan pada prompt akan hilang saat shell keluar. Tambahkan fungsi tersebut ke ~/.bashrc agar tersedia di setiap sesi.
# Append to ~/.bashrc
extract() {
case "$1" in
*.tar.gz) tar xzf "$1" ;;
*.zip) unzip "$1" ;;
*) echo "Unknown format" ;;
esac
}Mencantumkan dan Menghapus Fungsi
declare -F mencantumkan nama fungsi; declare -f name menampilkan isinya. Hapus fungsi dengan unset -f name.
declare -F
declare -f greet
unset -f greetMenggabungkan Fungsi
Fungsi dapat memanggil fungsi lain, sehingga bagian-bagian kecil yang dapat digunakan kembali dapat digabungkan menjadi alat yang lebih besar.
log() { echo "[$(date +%T)] $*"; }
deploy() {
log "Starting deploy"
log "Done"
}
deployPemeriksaan Cepat
Uji pemahaman Anda tentang fungsi shell.
Ringkasan
Anda telah mempelajari cara membuat fungsi shell yang dapat digunakan kembali:
- Tentukan dengan
name() { ... }dan panggil berdasarkan nama - Gunakan
$1,$@,$#untuk argumen danreturnuntuk status - Batasi cakupan variabel dengan
local, lalu kembalikan data melaluiecho - Simpan agar tetap tersedia di
~/.bashrcdan periksa dengandeclare -f
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Fungsi Shell & Potongan Kode yang Dapat Digunakan Ulang” gratis?
Ya — teks lengkap “Fungsi Shell & Potongan Kode yang Dapat Digunakan Ulang” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Fungsi Shell & Potongan Kode yang Dapat Digunakan Ulang”?
Definisikan dan gunakan fungsi Bash untuk mengemas perintah menjadi blok pembangun yang dapat digunakan ulang dan menerima parameter di shell Anda. Kamu berlatih DevOps Bootcamp 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 DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp 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 4 dari 4.
Berapa lama pelajaran “Fungsi Shell & Potongan Kode yang Dapat Digunakan Ulang” 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 DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp 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
- Pengendalian Tugas (bg, fg, jobs)
- Ekspansi Shell & Pencocokan Pola
- Alias dan Prompt Khusus
- Fungsi Shell & Potongan Kode yang Dapat Digunakan Ulang