Pemrograman Shell : Spesial Variabel. Tutorial sebelumnya memperingatkan tentang menggunakan karakter nonalphanumeric tertentu dalam nama variabel Anda.
Pemrograman Shell : Spesial Variabel. Tutorial sebelumnya memperingatkan tentang menggunakan karakter nonalphanumeric tertentu dalam nama variabel Anda. Hal ini karena karakter-karakter yang digunakan dalam nama-nama variabel Unix khusus. Variabel-variabel ini disediakan untuk fungsi tertentu.
Sebagai contoh, $ karakter mewakili proses nomor ID, atau PID, dari shell saat ini:
$echo $$
Perintah di atas akan menulis PID dari shell saat ini -
29949
Tabel berikut menunjukkan sejumlah variabel khusus yang dapat Anda gunakan dalam skrip shell Anda -
| Variabel | Deskripsi |
|---|---|
| $0 | Nama file script saat ini. |
| $n | variabel ini sesuai dengan argumen dengan yang naskah itu dipanggil. Berikut n adalah angka desimal positif sesuai dengan posisi argumen (argumen pertama adalah $1, argumen kedua adalah $2, dan seterusnya). |
| $# | Jumlah argumen yang diberikan untuk sebuah naskah |
| $* | Semua argumen yang dikutip ganda. Jika script menerima dua argumen, $* setara dengan $1 $2. |
| $@ | Semua argumen secara individual ganda dikutip. Jika script menerima dua argumen, $@ setara dengan $1 $2. |
| $? | Status keluar dari perintah terakhir yang dijalankan. |
| $$ | Jumlah proses shell saat. Untuk script shell, ini adalah ID proses di mana mereka mengeksekusi. |
| $! | Proses jumlah perintah background lalu. |
Argumen Command-Line
Argumen baris perintah $1, $2, $3, ... $9 adalah parameter posisi, dengan $0 menunjuk ke perintah yang sebenarnya, Program, shell script, atau fungsi dan $1, $2, $3, ... $9 sebagai argumen untuk perintah.
Script berikut menggunakan berbagai variabel khusus yang berhubungan dengan perintah baris -
#!/bin/sh echo "File Name: $0" echo "First Parameter : $1" echo "Second Parameter : $2" echo "Quoted Values: $@" echo "Quoted Values: $*" echo "Total Number of Parameters : $#"
Berikut adalah contoh run untuk script di atas -
$./test.sh Zara Ali File Name : ./test.sh First Parameter : Zara Second Parameter : Ali Quoted Values: Zara Ali Quoted Values: Zara Ali Total Number of Parameters : 2
Parameter Spesial $* and $@
Kedua parameter menentukan semua argumen baris perintah tapi "$*" parameter khusus mengambil seluruh daftar sebagai salah satu argumen dengan spasi antara dan "$@" parameter khusus mengambil seluruh daftar dan memisahkannya ke dalam argumen terpisah.
Kita dapat menulis script shell yang ditunjukkan di bawah untuk memproses jumlah yang tidak diketahui dari argumen baris perintah dengan baik $* atau $@ parameter khusus :
#!/bin/sh for TOKEN in $* do echo $TOKEN done
Ada satu contoh run untuk script di atas -
$./test.sh Zara Ali 10 Years Old Zara Ali 10 Years Old
Exit Status
variabel $? mewakili status keluar dari perintah sebelumnya.
status keluar adalah nilai numerik dikembalikan oleh setiap perintah setelah selesai. Sebagai aturan, kebanyakan perintah mengembalikan status keluar 0 jika mereka berhasil, dan 1 jika mereka tidak berhasil.
Beberapa perintah kembali status exit tambahan untuk alasan tertentu. Sebagai contoh, beberapa perintah membedakan antara jenis kesalahan dan akan kembali berbagai nilai keluar tergantung pada jenis tertentu dari kegagalan.
Berikut ini adalah contoh perintah sukses -
$./test.sh Zara Ali File Name : ./test.sh First Parameter : Zara Second Parameter : Ali Quoted Values: Zara Ali Quoted Values: Zara Ali Total Number of Parameters : 2 $echo $? 0 $

COMMENTS