Manual Rujukan Bash: Catatan 2
Sumber: Bash Reference Manual
Edisi 5.0, untuk Bash versi terkini yakni 5.0 yang telah dikemaskini dalam Mei 2019.
Rujukan Bab 3: Ciri-ciri Asas Shell (Basic Shell Features)
Subtopik 3.3 Fungsi-fungsi Shell (Shell Functions)
Contoh skrip diberi bagi menunjukkan bahawa shell menggunakan dynamic scoping
untuk mengawal keterlihatan pemboleh ubah dalam satu-satu fungsi:
bash
#!/usr/bin/env bash
func1()
{
local var='func1 local'
func2
}
func2()
{
echo "In func2, var = $var"
}
var=global
func1
Nombor baris bermula dari baris yang telah diserlahkan (highligted).
Baris | Keterangan |
---|---|
1 | tentukan fungsi1 ; |
2 | pembuka curly brace(s) (Rujuk 3.2.4.3 Grouping Commands); |
3 | tentukan pemboleh ubah lokal bagi fungsi1 ; |
4 | panggil fungsi2 ; |
5 | penutup curly brace(s) ; |
6 | whitespace ; |
7 | tentukan fungsi2 ; |
8 | pembuka curly brace(s) ; |
9 | ayat untuk dipaparkan di Terminal dengan memanggil pemboleh ubah $var ; |
10 | penutup curly brace(s) ; |
11 | whitespace ; |
12 | tentukan pemboleh ubah global ; |
13 | panggil fungsi1 ; |
Pengeluaran di terminal adalah:-In func2, var = func1 local
Fungsi terakhir dipanggil dalam skrip di atas adalah fungsi1. Fungsi1 ini mempunyai pemboleh ubah lokal dan turut memanggil fungsi2.
Pemboleh ubah yang dipanggil di dalam fungsi2 ini akan muktamad membawa kepada pemboleh ubah lokal yang telah ditetapkan di dalam fungsi1, walaupun terdapat pemboleh ubah global yang telah ditentukan kemudiannya.
Kali terakhir dikemaskini: