Script cu’a heˆ

Một phần của tài liệu Tài liệu Linux cho người dùng doc (Trang 53 - 54)

3 Bash

3.9Script cu’a heˆ

˙ vo’ và leˆ˙nh source 49

local name=value. Du’o´’i d¯ây là moˆ

˙t ví du˙hàm soˆ´ , thu

˙’c hieˆ˙n công vieˆ

˙c cu’a leˆ

˙nhseqd¯ã nha˘´c d¯eˆ´n o’’ trên:

kênh giao tác seq() { local I=$1; while [ $2 != $I ]; do { echo -n "$I "; I=$(( $I + 1 )) }; done; echo $2 }

Caˆ`n chú ý d¯eˆ´n tùy cho

˙n-ncu’aecho, nó (tùy cho˙n) hu’y bo’ vieˆ

˙c ta˙o dòng mo´’i. Ma˘ ˙c dù tùy cho

˙n này không có nhieˆ`u ý nghı˜a vo´’i mu

˙c d¯ích chúng ta muoˆ´ n o’’ d¯ây, nhu’ng se˜ raˆ´t có ích trong các hàm soˆ´ vo´’i mu

˙c d¯ích khác. Hàm soˆ´ tính giai thu`’a fact Moˆ

˙t ví du˙ khác: kênh giao tác fact() { if [ $1 = 0 ]; then echo 1; else { echo $(( $1 * $( fact $(( $1 -- 1 )) ) )) }; fi } D

¯ ây là hàm soˆ´ giai thu`’a, moˆ

˙t ví du˙ cu’a hàm d¯eˆ

˙ qui. Hãy chú ý d¯eˆ´n su

˙’ khai trieˆ’n soˆ´ ho ˙c, và phép theˆ´ các câu leˆ

˙nh.

3.9 Script cu’a heˆ

˙ vo’ và leˆ˙nh source

Script cu’a heˆ

˙ vo’ chı’ là các taˆ

˙p tin có chu´’a chuoˆ˜i leˆ

˙nh. Tu’o’ng tu

˙’ hàm soˆ´ script có theˆ’ d¯u’o ˙’c thu

˙’c hieˆ˙n nhu’ moˆ

˙t câu leˆ

˙nh. Cú pháp truy caˆ

˙p d¯eˆ´n các tham soˆ´ cu˜ng nhu’ hàm soˆ´. Trong các tru’o`’ng ho

˙’p thông thu’o`’ng khi cha˙y script se˜ có moˆ (adsbygoogle = window.adsbygoogle || []).push({});

˙t tieˆ´n trình mo´’i d¯u’o

˙’c cha˙y. D¯ eˆ’ có theˆ’ thu˙’c hieˆ

˙n script o’’ trong ba’nbashhieˆ

˙n tho`’i, caˆ`n su’’du

˙ng câu leˆ

˙nhsource, hay moˆ

˙t daˆ´u chaˆ´m "." (d¯oˆ`ng nghı˜a cu’a source). Trong tru’o`’ng ho

˙’p này script chı’ d¯o’n gia’n là moˆ˙t tham soˆ´ cu’a leˆ ˙nh nói trên. Câu leˆ

˙nh se˜ có da ˙ng:

source filename [arguments]

Câu leˆ

˙nh này d¯o

˙c và thu˙’c hieˆ˙n các câu leˆ

˙nh có trong taˆ

˙p tinfilenametrong môi tru’o`’ng

hieˆ

˙n tho`’i, và tra’ la

˙i giá tri˙, xác d¯i

˙nh bo’’i câu leˆ

˙nh cuoˆ´ i cùng cu’afilename. Neˆ´ufilename

không chu´’a daˆ´u ga

˙ch chéo, thì d¯u’o`’ng daˆ˜n, lieˆ

˙t kê trong bieˆ´n soˆ´ PATH, se˜ d¯u’o

˙’c su’’ du˙ng d¯eˆ’ tìm taˆ

˙p tin có tên filename. Taˆ

˙p tin này không nhaˆ´t thieˆ´t pha’i kha’ thi (không nhaˆ´t thieˆ´t pha’i có bit x). Neˆ´u trong thu’ mu

˙c, lieˆ

˙t kê trong PATH, không tìm thaˆ´y taˆ

˙p tin caˆ`n, thì se˜ tìm nó (taˆ

˙p tin) trong thu’ mu ˙c hieˆ (adsbygoogle = window.adsbygoogle || []).push({});

˙n tho`’i. Neˆ´u có các tham soˆ´ (d¯u’a ra arguments, xem d¯i

câu leˆ

˙nh o’’ trên), thì trong tho`’i gian thu

˙’c hieˆ˙n script chúng se˜ thành các tham bieˆ´n vi

˙trí. Neˆ´u không có tham soˆ´ , thì tham bieˆ´n vi

˙trí không thay d¯oˆ’i. Giá tri

˙(tra˙ng thái), mà leˆ

˙nhsource tra’ la

˙i, trùng vo´’i giá tri

˙, tra’ la˙i bo’’i câu leˆ

˙nh cuoˆ´ i cùng trong script. Neˆ´u không câu leˆ ˙nh nào d¯u’o

˙’c thu˙’c hieˆ˙n, hoa˘˙c không tìm thaˆ´y taˆ

˙p tinfilename, thì tra˙ng thái thoát ba˘`ng 0.

Một phần của tài liệu Tài liệu Linux cho người dùng doc (Trang 53 - 54)