phía tr c và sau d u b ng, cịn v i tcsh thì tr c và sau d u b ng có th có ký t tr ng ho c không.
Không gi ng các ngơn ng l p trình nh C ho c Pascal, ta không ph i khai báo các bi n trong shell. Vì bi n shell khơng có ki u (type) xác đnh, ta có th dùng m t bi n đ gán m t giá tr nguyên (integer) sau đó l i gán cho bi n đó m t giá tr chu i (string). Ví d , sau khi gán bi n bien b ng m t giá tr s (5) nh trong ví d trên ta có th ti p t c gán nh sau:
bien=Linux (pdksh ho c bash) set bien = Linux (tcsh)
7.2.2 Truy nh p giá tr c a m t bi n
Sau khi đã gán giá tr cho bi n, đ truy nh p giá tr c a bi n đó trong ch ng trình shell, hãy thêm d u đơla ($) vào phía tr c tên c a bi n.
Tên c a bi n trong các ví d trên là bien, cịn giá tr mà bi n đó mang là $bien (là chu i Linux). in giá tr đó ra màn hình ta có th s d ng l nh echo nh sau:
echo $bien
L u ý:
N u b qua d u đôla trong câu l nh trên (thành echo bien), shell hi u bien là m t chu i và s in chu i đó ra màn hình (ch khơng ph i chu i Linux).
7.2.3 Tham s v trí và bi n xây d ng s n trong shell
Ta có th truy n các tham s cho ch ng trình shell qua dịng l nh. Ví d , dịng l nh sau:
remount thamso1 thamso2
c ng th c hi n ch ng trình shell remount nh ng có thêm hai tham s dịng l nh (còn g i là tu ch n dòng l nh) là thamso1 và thamso2.
57
Khi ta ch y m t ch ng trình shell có h tr các tu ch n dòng l nh nh trên thì m i tu ch n đ c l u vào trong m t tham s v trí (positional parameter). Tham s đ u tiên đ c l u vào m t bi n có tên là 1, tham s th hai đ c l u vào bi n có tên là 2... Các shell hi n th i có th h tr đ n 9 bi n nh v y. truy nh p vào các bi n này ta c ng thêm ký t đơla vào tr c tên bi n (ví d $1, $2,..).
Ch ng trình shell sau nh n vào hai tu ch n dịng l nh và in ra màn hình tu ch n th hai tr c r i m i in tham s th nh t sau:
# Chuong trinh in dao nguoc echo "$2" "$1"
N u ta th c hi n ch ng trình này (đã đ t tên là daonguoc) trên dòng l nh nh sau:
daonguoc CHAO BAN
thì trên màn hình s xu t hi n :
BAN CHAO
Các bi n đ c bi t $1, $2,... còn g i là các bi n shell xây d ng s n (built-in shell
variable). Còn m t s bi n shell xây d ng s n khác r t quan tr ng trong l p trình
shell. B ng sau đây li t kê các bi n này.