i v i các shell pdksh và bash, hãy th c hi n câu l nh . v i tham s là tên c a ch ng trình shell:
. remount
Câu l nh . b t shell hi n hành (pdksh ho c bash) th c hi n các câu l nh có trong
remount.
T ng t , đ i v i shell tcsh, câu l nh .đ c thay th b i câu l nh source : source remount
56
7.2 S d ng bi n
Gi ng nh các ngôn ng máy tính khác, vi c s d ng các bi n (variable) trong l p trình shell r t quan tr ng. Trong các bài tr c chúng ta đã làm quen v i m t s bi n môi tr ng nh PATH và PS1.
7.2.1 Gán m t giá tr cho bi n
i v i shell pdksh và bash, đ gán giá tr cho m t bi n, ta gõ tên c a bi n theo sau là m t d u b ng (=) và giá tr mà ta mu n gán cho bi n. Ví d :
bien=5
V i shell tcsh, đ gán giá tr cho bi n ta thêm t set nh sau:
set bien = 5
L u ý:
i v i bash và pdksh, cú pháp gán không ch p nh n các ký t tr ng (space) 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.