VietHung soft group -
Mét tÖp ch−¬ng tr×nh cña shell kh«ng quan träng ®Õn tªn vµ ®u«i, kh«ng cÇn dÞch còng nh−
kh«ng cã m«i tr−êng ph¸t triÓn. ViÖc so¹n th¶o mét tÖp shell cã thÓ sö dông bÊt kú mét c«ng
cô so¹n th¶o nµo, chØ cÇn ghi tÖp ®ã víi d¹ng text, sau ®ã ®æi thµnh d¹ng tÖp cã thÓ ch¹y
®−îc. Xem vÝ dô 1 trong phÇn sau ®Ó hiÓu thªm chi tiÕt.
Shell lu«n g¾n liÒn víi hÖ ®iÒu hµnh Unix, nh−ng ®Ó hiÓu vµ häc shell kh«ng nhÊt thiÕt b¹n
cÇn hiÓu s©u vÒ hÖ thèng còng nh− c¸c lÖnh cña Unix. Tuy nhiªn th«ng qua nh÷ng vÝ dô
chóng t«i nªu ë ®©y c¸c b¹n cã thÓ hiÓu thªm c¸ch sö dông lÖnh vµ biÕn hÖ thèng.
Chó ý: Chóng t«i chØ nh¾c ®Õn hÖ ®iÒu hµnh Unix khi giíi thiÖu còng nh− h−íng dÉn sö dông,
nh−ng thùc tÕ hiÖn nay Linux lµ mét hÖ ®iÒu hµnh kÕ thõa cña Unix. Linux còng cã nh÷ng
shell t−¬ng tù vµ b¹n cã thÓ sö dông nh÷ng giíi thiÖu vÒ shell ë ®©y víi c¸c hÖ thèng Linux.
3. Nh÷ng lo¹i shell hiÖn thêi
HiÖn nay cã kh¸ nhiÒu lo¹i shell ®−îc sö dông trong c¸c hÖ thèng Unix, nh−ng ë ®©y chóng
t«i chØ ®Ò cËp ®Õn 3 lo¹i c¬ b¶n vµ phæ biÕn, ®ã lµ:
- Bourne shell, ®−îc coi lµ shell chuÈn, c« ®äng vµ lµ lo¹i ®¬n gi¶n nhÊt.
- Korn shell, cao cÊp h¬n Bourne shell vµ cho phÐp so¹n dßng lÖnh.
- C shell, sö dông có ph¸p cña ng«n ng÷ lËp tr×nh C vµ cã thªm nhiÒu chøc n¨ng tiÖn lîi.
Th«ng th−êng c¸c hÖ thèng cã Ýt nhÊt lµ mét lo¹i shell vµ th«ng th−êng Bourne shell ®−îc sö
dông ®Ó viÕt shell script, cßn sö dông mét lo¹i kh¸c cho viÖc t−¬ng t¸c.
TÖp /etc/passwd sÏ x¸c ®Þnh lo¹i shell nµo sÏ ®−îc sö dông mÆc ®Þnh trong hÖ thèng cho
mçi phiªn lµm viÖc cña b¹n. Trong phÇn cuèi cña dßng chøa tªn b¹n, b¹n cã thÓ t×m thÊy
th«ng tin vÒ lo¹i shell nµo ®−îc sö dông. Mçi khi b¹n login, hÖ thèng sÏ ®äc tÖp nµy ®Ó lÊy
th«ng tin khëi t¹o cho shell.
Th«ng tin cã thÓ gåm mét trong nh÷ng d¹ng sau:
/bin/sh Bourne
shell
/bin/jsh
Bourne shell, cã thªm phÇn ®iÒu khiÓn t¸c vô (job control)
/bin/ksh
Korn
shell
/bin/csh
C
shell
B¹n cã thÓ thay ®æi shell mÆc ®Þnh sang mét lo¹i kh¸c b»ng c¸ch sö dông lÖnh:
VÝ dô chuyÓn tõ Bourne shell sang C shell:
exec csh
hoÆc cã thÓ ®æi shell míi b»ng lÖnh:
chsh [<tªn shell>]
CÊu tróc lÖnh chsh nh− sau:
chsh [-s <tªn shell>] [ -l ] [<tªn ng−êi>]
chsh
-l
liÖt kª c¸c lo¹i shell hiÖn cã (th«ng tin chøa trong tÖp /ect/shells).
Trong phÇn tiÕp theo, chóng t«i sÏ giíi thiÖu vÒ Bourne shell, lo¹i tiªu chuÈn, ®¬n gi¶n vµ
phæ dông nhÊt hiÖn nay trong c¸c hÖ thèng Unix.