bersama catatan peribadi & teknikalnya.

#Bash

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:
#!/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).
BarisKeterangan
1tentukan fungsi1 ;
2pembuka curly brace(s) (Rujuk 3.2.4.3 Grouping Commands);
3tentukan pemboleh ubah lokal bagi fungsi1 ;
4panggil fungsi2 ;
5penutup curly brace(s) ;
6whitespace ;
7tentukan fungsi2 ;
8pembuka curly brace(s) ;
9ayat untuk dipaparkan di Terminal dengan memanggil pemboleh ubah $var ;
10penutup curly brace(s) ;
11whitespace ;
12tentukan pemboleh ubah global ;
13panggil 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.

Manual Rujukan Bash: Catatan 1

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.2.4.2 Binaan-binaan Bersyarat (Conditional Constructs)

Contoh skrip diberi bagi case :
#!/usr/bin/env bash

echo -n "Enter the name of an animal: "
read ANIMAL
echo -n "The $ANIMAL has "
case $ANIMAL in
  horse | dog | cat) echo -n "four";;
  man | kangaroo ) echo -n "two";;
  *) echo -n "an unknown number of";;
esac
echo " legs."

Nombor baris bermula dari baris yang telah diserlahkan (highligted).
BarisKeterangan
1untuk memasukkan nama haiwan dengan baris ayat di dalam petikan (simbol quotation "" atau koma pembuka terbalik & koma penutup terbalik) ;
2untuk membaca nama haiwan yang dimasukkan dengan pemboleh ubah HAIWAN ;
3untuk cetak pengeluaran pemboleh ubah "$HAIWAN (yang dimasukkan) mempunyai " ;
4binaan bersyarat case bagi pemboleh ubah $HAIWAN bermula;
5senaraikan nama-nama haiwan untuk kes pertama dengan simbol saluran paip | (rujuk 3.2.2 Pipelines) sebagai pemisah, tutup senarai dengan penutup kurungan dan cetak pengeluaran ciri "(berkaki) empat" ;
6senarai nama-nama haiwan untuk kes kedua dan cetak pengeluaran ciri "(berkaki) dua" ;
7bagi haiwan selainnya dan cetak pengeluaran ciri "(berkaki) yang tidak diketahui" ;
8tutup binaan bersyarat esac;
9sambung cetakan bagi melengkapkan ayat ciri-ciri haiwan (mempunyai berapa) " kaki" ;

Jika masukkan pemboleh ubah 'kucing', maka pengeluaran di terminal adalah:-
The cat has four legs.
Jika masukkan pemboleh ubah 'kanggaru', maka pengeluaran di terminal adalah:-
The kangaroo has two legs.
Jika masukkan pemboleh ubah selainnya seperti 'lembu', maka pengeluaran di terminal adalah:-
The cow has an unknown number of legs.

Top