Fungsi Shell dan Petikan Boleh Guna Semula
Takrif dan gunakan fungsi Bash untuk mengumpulkan perintah menjadi blok binaan shell yang berparameter dan boleh digunakan semula.
Fungsi Shell dan Petikan Boleh Guna Semula ialah pelajaran Penguasaan Baris Perintah Linux & Penskripan Bash percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Penguasaan Baris Perintah Linux & Penskripan Bash, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Penguasaan Baris Perintah Linux & Penskripan Bash merangkumi sejumlah 4 pelajaran.
Mengapa Fungsi Shell?
Fungsi shell mengumpulkan sekumpulan perintah di bawah satu nama supaya anda boleh menggunakannya semula tanpa menaip semula.
- Lebih pantas daripada menyalin dan menampal perintah
- Lebih kemas daripada alias yang panjang
- Boleh menerima argumen, tidak seperti alias
mkcd() {
mkdir -p "$1" && cd "$1"
}Mentakrifkan Fungsi
Bentuk paling ringkas menggunakan sintaks name() { ... }. Perintah dalam pendakap dijalankan apabila anda memanggil fungsi mengikut namanya.
greet() {
echo "Hello from a function"
}
greetArgumen Fungsi
Fungsi menerima parameter kedudukan seperti skrip: $1, $2. $# ialah kiraannya dan $@ dikembangkan kepada semua argumen.
backup() {
cp "$1" "$1.bak"
echo "Backed up $1"
}
backup notes.txtNilai Pulangan dan Status Keluar
Fungsi memulangkan status keluar melalui return N (0-255). Gunakannya untuk semakan berjaya/gagal, bukan untuk memulangkan data.
is_root() {
[ "$(id -u)" -eq 0 ] && return 0 || return 1
}
if is_root; then echo root; else echo normal; fiMemulangkan Output melalui echo
Memandangkan return hanya membawa kod status, output sebenar dicetak dan ditangkap dengan $( ).
timestamp() {
date +%Y%m%d-%H%M%S
}
name="log-$(timestamp).txt"
echo "$name"Pemboleh Ubah Setempat
Secara lalai, pemboleh ubah dalam fungsi bersifat global. Gunakan local untuk mengehadkan skop pemboleh ubah kepada fungsi dan mengelakkan pencemaran shell anda.
count_lines() {
local n
n=$(wc -l < "$1")
echo "$1 has $n lines"
}Nilai Argumen Lalai
Gunakan pengembangan parameter ${1:-default} untuk kembali kepada nilai lalai apabila argumen tiada.
say() {
local msg="${1:-Hello World}"
echo "$msg"
}
say
say "Custom message"Fungsi berbanding Alias
Alias hanya menggantikan teks dan tidak dapat menerima argumen kedudukan dengan kemas. Fungsi boleh membuat percabangan, gelung dan memproses input.
- Gunakan alias untuk pintasan tetap
- Gunakan function apabila anda memerlukan logik atau argumen
alias ll='ls -la'
lt() { ls -la "${1:-.}" | tail -n "${2:-5}"; }Menjadikan Fungsi Kekal
Fungsi yang ditakrifkan pada gesaan akan hilang apabila shell keluar. Tambahkannya pada ~/.bashrc supaya tersedia dalam setiap sesi.
# Append to ~/.bashrc
extract() {
case "$1" in
*.tar.gz) tar xzf "$1" ;;
*.zip) unzip "$1" ;;
*) echo "Unknown format" ;;
esac
}Menyenaraikan dan Mengalih Keluar Fungsi
declare -F menyenaraikan nama fungsi; declare -f name memaparkan isi fungsi. Alih keluar fungsi dengan unset -f name.
declare -F
declare -f greet
unset -f greetMenggabungkan Fungsi
Fungsi boleh memanggil fungsi lain, sekali gus membolehkan bahagian kecil yang boleh digunakan semula digabungkan menjadi alat yang lebih besar.
log() { echo "[$(date +%T)] $*"; }
deploy() {
log "Starting deploy"
log "Done"
}
deploySemakan Pantas
Uji pemahaman anda tentang fungsi shell.
Ulang Kaji
Anda telah belajar membina functions shell yang boleh digunakan semula:
- Takrifkan dengan
name() { ... }dan panggil mengikut nama - Gunakan
$1,$@,$#untuk argumen danreturnuntuk status - Hadkan skop pemboleh ubah dengan
local, dan kembalikan data melaluiecho - Kekalkan fungsi dalam
~/.bashrcdan periksa dengandeclare -f
Pelajari Bash dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 22
- Pelajaran
- 88
Soalan Lazim
Adakah pelajaran “Fungsi Shell dan Petikan Boleh Guna Semula” percuma?
Ya — teks penuh “Fungsi Shell dan Petikan Boleh Guna Semula” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Penguasaan Baris Perintah Linux & Penskripan Bash, tingkat taraf kepada CoddyKit PRO. Kursus Penguasaan Baris Perintah Linux & Penskripan Bash merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Fungsi Shell dan Petikan Boleh Guna Semula”?
Takrif dan gunakan fungsi Bash untuk mengumpulkan perintah menjadi blok binaan shell yang berparameter dan boleh digunakan semula. Anda berlatih Penguasaan Baris Perintah Linux & Penskripan Bash menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Penguasaan Baris Perintah Linux & Penskripan Bash?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Penguasaan Baris Perintah Linux & Penskripan Bash di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Fungsi Shell dan Petikan Boleh Guna Semula” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Penguasaan Baris Perintah Linux & Penskripan Bash ini?
Ya. Setiap pelajaran Penguasaan Baris Perintah Linux & Penskripan Bash menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Kawalan Kerja (bg, fg, jobs)
- Pengembangan Shell dan Globbing
- Alias dan Gesaan Tersuai
- Fungsi Shell dan Petikan Boleh Guna Semula