VietHung soft group -
linecount = `wc –l $filename`
LÖnh thø nhÊt sÏ ®−îc thùc hiÖn vµ g¸n ®−êng dÉn hiÖn thêi vµo biÕn currentdir, lÖnh thø hai
®−îc thùc hiÖn vµ ®Õm sè dßng trong tÖp cã tªn trong $filename råi g¸n vµo biÕn linecount.
Nh− vËy b¹n cã thÓ hiÓu mét c¸ch ®¬n gi¶n lµ nh÷ng g× viÕt trong gi÷a hai dÊu ` ` sÏ ®−îc coi
lµ lÖnh cña hÖ thèng vµ ®−îc thùc hiÖn, nh÷ng tham sè sau c¸c lÖnh hÖ thèng còng ®−îc tù
®éng g¸n trong phÇn nµy.
5.2 DÊu ( ' ) vµ ( " )
Kh¸c víi dÊu huyÒn ( ` ), nh÷ng th«ng tin gi÷a hai dÊu nh¸y (nh¸y ®¬n hoÆc nh¸y kÐp) ®−îc
coi lµ th«ng tin ®−îc sö dông trong lÖnh echo vµ sÏ ®−îc in ra mµn h×nh hay ®−îc g¸n vµo
biÕn d¹ng x©u. Nh− vËy, kh«ng thÓ viÕt c¸c lÖnh hÖ thèng gi÷a hai dÊu nh¸y mµ chØ c¸c ®Ó c¸c
x©u ký tù hay c¸c biÕn. Chóng ta xem xÐt nh÷ng dßng vÝ dô sau:
myname = "Viet Hung" # g¸n gi¸ trÞ cho mét biÕn
echo "$myname" # kÕt qu¶ ra mµn h×nh: Viet Hung
echo '$myname' # kÕt qu¶ ra mµn h×nh: $myname
B¹n cã thÓ dÔ thÊy sù kh¸c biÖt cña hai dÊu nh¸y ®¬n vµ nh¸y kÐp qua nh÷ng dßng lÖnh trªn,
®èi víi nh¸y kÐp (“), khi in ra sÏ ®−îc thùc hiÖn víi gi¸ trÞ cña biÕn sau dÊu $. §èi víi dÊu
nh¸y ®¬n (‘) th× sÏ in ra y nguyªn nh− trong dßng v¨n b¶n. Th«ng th−êng dÊu nh¸y ®¬n Ýt
®−îc sö dông nh−ng l¹i rÊt tiÖn lîi khi muèn in y nguyªn mét dßng v¨n b¶n, ®Æc biÖt lµ khi cã
c¸c ký tù ®Æc biÖt nh− $, \.
6. C¸c cÊu tróc phøc t¹p
Nh− ®∙ giíi thiÖu, ngoµi nh÷ng lÖnh ®¬n gi¶n nh− ®äc, in ra mµn h×nh vµ thùc hiÖn c¸c lÖnh
hÖ thèng, shell cßn hç trî viÖc sö dông c¸c lÖnh phøc t¹p h¬n nh− if-then-else, for/while.
PhÇn d−íi ®©y chóng t«i sÏ giíi thiÖu ®Õn nh÷ng cÊu tróc nµy.
6.1 CÊu tróc vßng lÆp: for
CÊu tróc vßng lÆp for ®−îc x©y dùng nh− sau:
for <biÕn ký tù> in <x©u>
do
<c¸c lÖnh cÇn thùc hiÖn>
done
Qua vÝ dô d−íi ®©y b¹n cã thÓ hiÓu râ h¬n cÊu tróc vßng lÆp for.
VÝ dô 5: VÝ dô vÒ vßng lÆp for.
#!/bin/sh
#Vi du 5