ºìÁªLinuxÃÅ»§
Linux°ïÖú

shell±à³Ì£­·ÖÖ§Óï¾ä

·¢²¼Ê±¼ä:2006-07-04 13:06:25À´Ô´:ºìÁª×÷Õß:µçÄÔ²©Ê¿
Ä¿±ê£º
Íê³ÉÕâÒ»Õ£¬Ä㽫Äܹ»×÷ÒÔÏÂÊÂÇ飺
ÃèÊöÌõ¼þ·ÖÖ§Óï¾äÖзµ»ØÖµµÄ×÷Óá£
ʹÓÃtestÃüÁîÀ´·ÖÎöÒ»¸öÃüÁîµÄ·µ»ØÖµ¡£
ÔÚshell³ÌÐòÖÐʹÓÃifºÍcase½á¹¹¡£

1.·µ»ØÖµ

shell±äÁ¿¡°£¿¡±Öб£´æÉÏÒ»¸ö±»Ö´ÐÐÃüÁîµÄ·µ»ØÖµ£º
0£º ??ÃüÁî³É¹¦µØÖ´ÐУ¨Õ棩
·ÇÁ㣺?ÃüÁîÓÉÓÚ³öÏÖ´íÎó¶ø±»ÖÕÖ¹£¨¼Ù£©
Àý×Ó£º
$ true ??????????$ false
$ echo $? ??? ???? $ echo $?
0 ???????????? 1
$ ls ???????????$ cp
$ echo $? ??????? ?Usage: cp f1 f2?
0???????????????? cp [-r] f1 ....fn d1
$ echo $??????????$echo $?
0????????????? 1
???????????? ? $echo $?
????????????? 0
UNIX²Ù×÷ϵͳµÄËùÓÐÃüÁîÔÚ½áÊøµÄʱºò¶¼»á²úÉúÒ»¸ö·µ»ØÖµ¡£Õâ¸ö·µ»ØÖµÍ¨³£±»ÓÃÀ´ÅжÏÃüÁîÊÇÕý³£½áÊø£¨·µ»Ø0£©»¹ÊÇ·¢ÉúÁË´íÎ󣨷µ»Ø·ÇÁãÖµ£©¡£Í¨¹ý·µ»ØµÄ·ÇÁãÖµ»¹¿ÉÒÔ¿´³ö·¢ÉúµÄÊÇʲô´íÎó¡£ÀýÈ磬Óï·¨´íÎóͨ³£·µ»Ø1£¬trueÃüÁî·µ»ØµÄ¾ÍÊÇ0£¬¶øfalseÃüÁî·µ»ØµÄÊÇ1¡£
´ó¶àÊýµÄshell³ÌÐòÖеÄÅжÏÓï¾ä¶¼ÊÇͨ¹ý·ÖÎöÕâ¸ö·µ»ØÖµÀ´½øÐÐÁ÷³Ì¿ØÖƵġ£shellÖж¨ÒåÁËÒ»¸öÌØÊâµÄ±äÁ¿¡°£¿¡±ÓÃÀ´±£´æÉÏÒ»¸öÃüÁî½áÊøºóµÄ·µ»ØÖµ¡£
Äã¿ÉÒÔͨ¹ýÒÔÏ·½Ê½À´¹Û²ìǰһ¸öÃüÁîµÄ·µ»ØÖµ:
echo $?
µ±ÄãÖ´ÐÐÒ»¸öÌõ¼þÅжϣ¨Ð¡ÓÚ£¬´óÓÚ£¬µÈÓÚ£©µÄʱºò£¬·µ»ØÖµ»áÖ¸Ã÷Õâ¸öÌõ¼þÊÇ·ñÎªÕæ£¨·µ»Ø0£©»òÕßΪ¼Ù£¨·µ»Ø·ÇÁ㣩¡£
Ìõ¼þÅжÏÓï¾ä»áÔÚϼ¸½ÚÖн²Êö¡£

2.test ÃüÁî

Óï·¨£º
test expression »òÕß [expression]
testÃüÁî¶Ô±í´ïʽ½øÐвâÊÔ£¬²¢ÇÒÉèÖ÷µ»ØÖµ¡£
±í´ïʽµÄÖµ ??·µ»ØÖµ
true??????0
false????? ·ÇÁ㣨ͨ³£Îª1£©
testÃüÁîÄܹ»²âÊԵĶÔÏóÓУº
ÕûÊý
×Ö·û´®
Îļþ
testÃüÁî±»ÓÃÀ´ÆÀ¹À±í´ïʽ²¢ÇÒ²úÉú·µ»ØÖµ¡£ËüÓòÎÊý×é³ÉÂß¼­±í´ïʽ²¢ÇÒ¶Ô±í´ïʽµÄ·µ»ØÖµ½øÐÐÆÀ¹À£¬testÃüÁî²»»á²úÉú±ê×¼Êä³ö£¬Äã±ØÐë±ØÐëͨ¹ý·µ»ØÖµÀ´ÅжÏtestÃüÁîµÄ½á¹û£¬Èç¹û±í´ïÊ½ÎªÕæ£¬·µ»ØÖµ»áΪ0£¬Èç¹û±í´ïʽΪ¼Ù£¬·µ»ØÖµÎª1¡£
testÃüÁî¿ÉÒÔ±»µ¥¶ÀʹÓã¬È»ºóÄãÄܹ»¿´µ½·µ»ØÖµ£¬µ«ËüÓõÄ×î¶àµÄ»¹ÊÇÔÚifºÍwhile½á¹¹ÖÐÓÃÀ´ÌṩÌõ¼þÁ÷³Ì¿ØÖÆ¡£
testÃüÁîµÄÒ²¿ÉÒÔÓÃ[expression]À´´úÌæ¡£ÕâÖÖ·½Ê½¿ÉÒÔÌá¸ß¿É¶ÁÐÔ£¬ÌرðÊÇÔÚ´¦ÀíÊý×Ö»òÕß×Ö·û´®µÄʱºò¡£
×¢Ò⣺ÔÚ"["ºÍ"]"·ûºÅµÄÖÜΧ±ØÐëÒªÓпոñ¡£

3.testÃüÁîÖ®Êý×Ötest

Óï·¨£º
[ number relation number ]???ͨ¹ý¹ØÏµÔËËã·ûÀ´¶ÔÊý×Ö½øÐбȽÏ
¹ØÏµÔËËã·û£º
-lt ???СÓÚ
-le ???СÓÚ»òÕßµÈÓÚ
-gt??? ´óÓÚ
-ge ???´óÓÚ»òÕßµÈÓÚ
-eq ???µÈÓÚ
-ne ???²»µÈÓÚ
Àý×Ó£¨¼ÙÉèX=3):
$ [ "$X" -lt 7]???$ [ "$X" -gt 7]
$ echo $? ????? $ echo $?
0 ????????? 1
testÃüÁîÄܱ»ÓÃÓڱȽÏÁ½¸öÕûÊýÖ®¼äµÄÊý×Ö¹ØÏµ£¬Í¨³£ÓÃ[.....]Óï·¨À´µ÷Óá£testÃüÁîµÄ·µ»ØÖµ¾ÍÄÜ˵Ã÷Õâ¸öÌõ¼þÎªÕæ»¹ÊÇΪ¼Ù¡£
µ±testÒ»¸ö±äÁ¿µÄÖµµÄʱºò£¬ÄãÓ¦¸Ã·ÀÖ¹±äÁ¿²»ÒªÎª¿ÕÖµ£¬ÀýÈ磺
$ [ $XX -eq 3]
sh: test:argument expected
Èç¹û±äÁ¿XXÔÚÇ°ÃæÃ»Óб»¸³Öµ£¬XXµÄÖµ»áÊÇNULL¡£µ±shellÖ´ÐбäÁ¿Ìæ´úµÄʱºò£¬shell»áÊÔͼִÐÐÈçÏÂÓï¾ä£º
[ -eg 3]
¶øÕâ¸öÓï¾ä²»ÊÇÒ»¸öÍêÕûµÄtestÓï¾ä£¬²¢ÇһᵼÖÂÒ»¸öÓï·¨´íÎó¡£½â¾öÕâ¸öÎÊÌâµÄÒ»¸ö¼òµ¥µÄ·½·¨¾ÍÊÇÔÚ±»²âÊԵıäÁ¿µÄÖÜΧ¼ÓÉÏÒýºÅ¡£
[ "$XX" -eq 3]
µ±shellÖ´ÐбäÁ¿Ìæ´úµÄʱºò£¬shell»áÊÔͼִÐÐÈçÏÂÓï¾ä£º
["" -eq 3]
Õâ»áÈ·±£ÖÁÉÙÓÐÒ»¸öNULLÖµ×÷Ϊһ¸ö²ÎÊýÌṩ¸øÕâ¸ötestÃüÁîʹÓá£
×¢Ò⣺×÷Ϊһ¸öͨÓõĹæÔò£¬ÄãÓ¦¸ÃÔÚËùÓеÄ$±äÁ¿¼ÓÉÏË«ÒýºÅÀ´±ÜÃâshell·¢Éú²»ÕýÈ·µÄ±äÁ¿µÄÌæ´ú¡£

4.testÃüÁ×Ö·û´®test

Óï·¨£º
[ string1 = string2] ÅжÏ×Ö·û´®ÊÇ·ñÏàµÈ
[ string1 !=string2] ÅжÏ×Ö·û´®ÊÇ·ñ²»µÈ
Àý×Ó£»
$ X=abc ?????????$ X=abc
$ [ "$X" = "abc"]???? $ ["$X" ?!£½ "abc"]
$ echo $? ????????$ echo $?
0???????????? 1
testÃüÁîÒ²Äܹ»ÓÃÀ´¼Æ½ÏÁ½¸ö×Ö·û´®ÊÇ·ñÏàµÈ¡£
[...] Ó﷨ͨ³£ÓÃ×÷×Ö·û´®µÄ±È½Ï¡£ÄãÒѾ­¿´µ½ÔÚ[]ÖÜΧ±ØÐëÒªÓпոñ£¬Í¬Ê±ÔÚ²Ù×÷·ûÖÜΧҲ±ØÐëÒªÓпոñ´æÔÚ¡£
×Ö·û´®²Ù×÷°üÀ¨£º
string1 = string2 ????Èç¹ûstring1µÈÓÚstring2¾ÍÎªÕæ
string1 != string2 ??? Èç¹ûstring1²»µÈÓÚstring2¾ÍÎªÕæ
-z string???????? Èç¹ûstringµÄ³¤¶ÈΪ0¾ÍÎªÕæ
-n string???????? Èç¹ûstringµÄ³¤¶ÈΪ·ÇÁã¾ÍÎªÕæ
string ????????? Èç¹ûstringµÄ³¤¶ÈΪ·ÇÁã¾ÍÎªÕæ
ΪÁË·ÀÖ¹±äÁ¿Öаüº¬¿Õ°××Ö·û£¬ÕâÀïÒýºÅͬÑùÒ²Äܹ»±£»¤×Ö·û´®µÄtest£¬£¬ÀýÈ磺
$ X="yes we will"
$ [ $X=yes] ???»áµ¼ÖÂÒ»¸öÓï·¨´íÎó
shell»á½âÊÍÕâ¸öÓï¾äΪ[yes we will = yes ]
$ [ "$x" = yes ] ?ÕýÈ·µÄÓï·¨
shell»á½âÊÍÕâ¸öÓï¾äΪ£º[ "yes we will" = yes ]
ÔÚÖ´ÐÐÊý×ֱȽϵÄʱºò£¬shell»á½«ËùÓеIJÎÊýµ±³ÉÊÇÊý×Ö£¬ÔÚÖ´ÐÐ×Ö·û´®±È½ÏµÄʱºò£¬shell»á°ÑËùÓеIJÎÊýµ±³ÉÊÇ×Ö·û´®¡£ÈçÏÂÀýËùʾ£º
$ X=03
$ Y=3
$ [ "$X" -eq "$Y" ]??? ±È½ÏÊý×Ö03ºÍÊý×Ö3
$ echo $?
0????????????ÎªÕæ£¬ÒòΪËüÃÇÊÇÏàµÈµÄÊý×Ö
$ [ "$X" = "$Y" ]????±È½Ï×Ö·û´®¡°03¡±ºÍ×Ö·û´®¡°3¡±
$ echo $?
1????????????Ϊ¼Ù£¬ÒòΪËüÃÇÊDz»ÏàͬµÄ×Ö·û´®

5.testÃüÁ Îļþ±È½Ï

Óï·¨£º
test -option filename???ͨ¹ýÑ¡Ïî¶ÔÎļþ½øÐÐtest
Àý×Ó£º
$ test -f funfile
$ echo $?
0
$ test -d funfile
$ echo $?
1
shellÌṩµÄÒ»¸öÓÐÓõÄtestÌØÐÔÊÇ¿ÉÒÔÓÃËüÀ´testÎļþµÄÌØÕ÷£¬ÀýÈçÎļþÀàÐͺÍÐí¿ÉȨÏÞ¡£ÀýÈ磺
$ test -f filename
Èç¹ûÎļþ´æÔÚ²¢ÇÒÊÇÒ»¸öÆÕͨÎļþ£¨²»ÊÇĿ¼»òÕßÉ豸Îļþ£©£¬»á·µ»ØÕ棨0£©¡£
test -s filename
Èç¹ûÎļþ´æÔÚ²¢ÇÒÆä×Ö½ÚÊý´óÓÚ0£¬»á·µ»ØÕ棨0£©¡£
ÆäËü»¹ÓÐÐí¶àÓÐÓõÄÎļþtest·½Ê½£¬±ÈÈ磺
-r file????Èç¹ûÎļþ´æÔÚ²¢ÇÒÊǿɶÁµÄʱºòÎªÕæ
-w file ??? Èç¹ûÎļþ´æÔÚ²¢ÇÒÊÇ¿ÉдµÄʱºòÎªÕæ
-x file ??? Èç¹ûÎļþ´æÔÚ²¢ÇÒÊÇ¿ÉÖ´ÐеÄʱºòÎªÕæ
-d directory ?Ŀ¼´æÔÚ²¢ÇÒÊǸöĿ¼µÄʱºòÎªÕæ

6.testÃüÁÆäËû²Ù×÷·û

Óï·¨£º
-o ????OR
-a ????AND
\( ?\) ? GROUPING
Àý×Ó£º
$ [ "$ANS" = y -o "ANS' = Y ]
$ [ "$NUM -gt 10 -a "$NUM" -lt 20 ]
$ test -s file -a -r file
×¢Ò⣺£¨£©Ç°Ãæ±ØÐëÒªÓÃб¸Ü¡£
ʹÓÃBoolean²Ù×÷·û¿ÉÒÔͬʱ²âÊÔ¶à¸öÌõ¼þ¡£
Àý×Ó£º
$ [ "$ANS" = y -o "$ANS" = Y ]
$ [ "$NUM" -gt 10 -a "$NUM" -lt 20 ]
$ test -s file -a -r file -a -x file
NOT²Ù×÷·û£¨£¡)±»ÓÃ×÷Á¬½ÓÆäËûµÄ²Ù×÷·û,ÌØ±ðÊÇÔÚÎļþtestµÄʱºòÓÃµÄºÜÆÕ±é¡£ÔÚ£¡²Ù×÷·ûºÍÆäËûµÄ²Ù×÷·ûÖ®¼ä±ØÐëÒªÓпոñ£¬ÀýÈ磺
test ! -d file
Äܹ»ÓÃÀ´´úÌæ
test -f file -o -c file -o -b file ....
À¨ºÅ±»ÓÃÀ´¶Ô²Ù×÷·û½øÐзÖ×飬µ«ÊÇÔÚshellÖÐÀ¨ºÅ»¹ÓÐÒ»¸öÌØÊâµÄÒâÒå¾ÍÊÇÓÅÏÈÔËËãµÄÒâÒå¡£Òò´Ë£¬À¨ºÅÇ°Ãæ±ØÐëʹÓÃ\·ûºÅÀ´ºöÂÔÆäÔ­Óк¬Òå¡£
ÒÔϵÄÃüÁîÑéÖ¤£ºÓÐÁ½¸öÃüÁîÐвÎÊý£¬²¢ÇÒµÚÒ»¸öÃüÁîÐвÎÊýÊÇÒ»¸ö-m ,²¢ÇÒ×îºóÒ»¸öÃüÁîÐвÎÊýÊÇÒ»¸öĿ¼»òÕßÊÇÒ»¸ö×Ö½ÚÊý´óÓÚ0µÄÎļþ£º
[ \( $# = 2 \) -a \( "$1" = "-m" \) -a \( -d "$2" -o -s "$2" \) ]?

7.exitÃüÁî

Óï·¨£º
?exit [arg]
Àý×Ó£º
$ cat exit_test
echo exiting program now
exit 99
$ exit_test
exiting_program now
$ echo $?
99
exitÃüÁî½áÊøµ±Ç°shell³ÌÐòµÄÖ´Ðв¢ÇÒÉèÖ÷µ»ØÖµ¡£Í¨³£0±»ÓÃÀ´ËµÃ÷Õý³£½áÊø£¬¶ø·Ç0ÖµÓÃÀ´ËµÃ÷Ò»¸ö´íÎóµÄÌõ¼þ¡£Èç¹ûûÓÐÌØ±ðÖ¸Ã÷·µ»ØÖµ£¬·µ»ØÖµ½«±»ÉèÖÃΪexitÃüÁîÉÏÒ»¸öÃüÁîµÄ·µ»ØÖµ¡£

8.ifÓï¾ä

Óï·¨£º£¨ÓÃÓÚµ¥ÏòÅжϷÖÖ§£©
if
??list A
then
??list B
fi
Àý×Ó£º
if
??test -s funfile
then
??echo funfile exists
fi
echo hello
if ½á¹¹ÊÇÒ»ÖÖ»ùÓÚÃüÁî·µ»ØÖµµÄµÄÁ÷³Ì¿ØÖÆ·½Ê½¡£Èç¹û²âÊÔÃüÁîµÄ·µ»ØÖµÎª0£¬Ò»¸öÖ¸¶¨µÄÃüÁîÁбí¾Í»á±»Ö´ÐУ¬Èç¹ûÓÃÓÚÅжϵÄÃüÁî·µ»ØÖµÎª·Ç0£¬Ö¸¶¨ÃüÁîÁбí»á±»ºöÂÔ¶ø²»±»Ö´ÐС£
ÉÏÀýÖбíÃ÷ÁËif½á¹¹µÄÒ»¸öͨÓõĸñʽ£ºÃ¿Ò»¸öÃüÁîÁбíÓÉÒ»¸ö»òÕß¶à¸öUNIXϵͳµÄshellÃüÁî×é³É£¬Ã¿¸öÃüÁîÖ®¼äÓûسµ·û»òÕ߷ֺŷָô£¬list AÖÐ×îºó±»Ö´ÐеÄÃüÁî¾ö¶¨ifÓï¾äµÄ½á¹û¡£
if½á¹¹Ö´ÐеĹý³ÌÈçÏÂËùʾ£º
1.list AÃüÁî±»Ö´ÐС£
2.Èç¹ûlist AÖеÄ×îºóÒ»¸öÃüÁîµÄ·µ»ØÖµÎª0£¨Õ棩£¬Ö´ÐÐlist BÖеÄÃüÁȻºó¼ÌÐøÖ´ÐÐfiÒÔºóµÄÃüÁî¡£
3.Èç¹ûlist AÖеÄ×îºóÒ»¸öÃüÁîµÄ·µ»ØÖµÎª·Ç0£¨¼Ù£©£¬Ìøµ½fi²¢ÇÒ¼ÌÐøÖ´ÐÐfiÒÔºóµÄÃüÁî¡£
testÃüÁîͨ³£±»ÓÃ×÷Á÷³Ì¿ØÖÆ£¬Ëü¿ÉÒÔʹÓÃÈκεÄUNIXÃüÁÒòΪËùÓеÄUNIXÃüÁî¶¼²úÉúÒ»¸ö·µ»ØÖµ£¬ÒÔϵÄÀý×Ó¿ÉÒÔ˵Ã÷£º
if
??grep kingkong /etc/passwd > /dev/null
then
??echo found kingkong
fi
if½á¹¹Ò²ÄÜÔÚ³ÌÐò³ö´íµÄʱºòÌṩÁ÷³Ì¿ØÖÆ¡£ÈçÏÂÀýËùʾ£º
if
??[ $# -ne 3 ]
then
??echo Incorrect syntax
??echo Usage: cmd arg1 arg2 arg3
??exit 99
fi

9.if-else ½á¹¹

Óï·¨£º£¨ÓÃÔÚ¶à·ÖÖ§Ñ¡ÔñµÄÇé¿ö£©
if
??list A
then
??list B
else
??list C
fi
Àý×Ó£º
if [ "$X" -lt 10 ]
then
?echo X is less than 10
else
?echo X is not less than 10
fi
if-else½á¹¹ÈÃÄãÄܹ»ÔÚ¿ØÖÆÃüÁîµÄ·µ»ØÖµÎª0µÄÇé¿öÏÂÖ´ÐÐһϵÁеÄÃüÁ»òÕßÔÚ¿ØÖÆÃüÁîµÄ·µ»ØÖµÎª·Ç0µÄÇé¿öÏÂÖ´ÐÐÁíÍâһϵÁеÄÃüÁî¡£
ÕâÖÖÇé¿öÏÂif½á¹¹µÄÖ´Ðйý³ÌÊÇ£º
1.Ö´ÐÐlist AÖеÄÃüÁî¡£
2.Èç¹ûÔÚlist AÖÐ×îºóÒ»¸öÃüÁîµÄ·µ»ØÖµÊÇ0£¨Õ棩£¬Ö´ÐÐlist BÖеÄÃüÁȻºó¼ÌÐøÖ´ÐÐfiÒÔºóµÄÃüÁî¡£
3.Èç¹ûlist AÖÐ×îºóÒ»¸öÃüÁîµÄ·µ»ØÖµÎª·Ç0£¨¼Ù£©£¬Ö´ÐÐlist CÖеÄÃüÁȻºóÖ´ÐÐfiÒÔºóµÄÃüÁî¡£
×¢ÒâÔÚlist CÖпÉÒÔ°üº¬ÈκεÄUNIXÃüÁÆäÖÐÒ²°üÀ¨if¡£ÀýÈ磺
if
??[ "$X" -lt 10 ]
then
??echo X is less than 10
else
??if
????[ "$X" -gt 10 ]
??then
????echo X is greater than 10
??else
????echo X is equal to 10
??fi
fi
×¢Ò⣺ÿһ¸öif±ØÐëÒªÓÐÒ»¸öfiÀ´½áÊø¡£

10.case½á¹¹

Óï·¨£º£¨¶à··ÖÖ§£©
?case word in
?patterm1) list A
???????;;
?pattern2)?list B
???????;;
?patternN) ?list N
??????? ;;
?esac
Àý×Ó£º
case $ANS in
??yes) echo O.K
?????;;
?? no) echo no go
?????;;
esac
if-else½á¹¹Ò²ÄÜÖ§³Ö¶à·µÄ·ÖÖ§£¬µ«Êǵ±ÓÐÁ½¸ö»òÕßÈý¸ö·ÖÖ§µÄÖ®ºó£¬³ÌÐò»á±äµÃÊ®·ÖÄÑÒÔÔĶÁ¡£case½á¹¹ÌṩÁËʵÏÖ¶à··ÖÖ§µÄÒ»ÖÖ¸ü·½±ãµÄ·½·¨¡£·ÖÖ§Ñ¡ÔñÊÇ˳ÐòµØ¶ÔÒ»¸öwordÓëÌṩµÄ²ÎÊýÖ®¼äµÄ±È½Ï½á¹û¡£ÕâЩ±È½ÏÊÇÊÇÑϸñµÄ»ùÓÚ×Ö·û´®µÄ¶Ô±È¡£µ±Ò»¸öÆ¥Åä³É¹¦µÄʱºò£¬¶ÔÓ¦µÄÃüÁî¾Í»á±»Ö´ÐС£Ã¿¸öÃüÁîµÄÁÐ±í¶¼ÒÔÁ½¸ö·ÖºÅ½áÊø¡£ÔÚÍê³ÉÁËÏà¹ØµÄ±È½ÏÖ®ºó£¬³ÌÐò»áÔÚesacÖ®ºó¼ÌÐøÖ´ÐÐÏÂÈ¥¡£
wordµäÐ͵ÄÇé¿öÏÂÊÇÖ¸ÏòÒ»¸öshell±äÁ¿¡£
patternµÄ×é³É¸ñʽºÍÎļþÃûµÄÉú³ÉÔ­ÔòÊÇÒ»Öµġ£
ÒÔÏÂÊÇһЩpatternÔÊÐíµÄÌØÊâµÄ×Ö·û£º
* ???Æ¥ÅäÈκÎ×Ö·û´®ºÍ×Ö·û°üÀ¨¿Õ×Ö·û
? ???Æ¥ÅäÈκε¥¸öµÄ×Ö·û¡£
[...] ?Æ¥ÅäÈκÎÒ»¸öÀ¨ºÅ³öÏÖÖеÄ×Ö·û
ÁíÍâ|×Ö·ûµÄÒâÒåÊÇOR¡£
×¢Ò⣺ÔÚÕâ¸ö½á¹¹ÖеÄÓÒÀ¨ºÅºÍ·ÖºÅÊDZØÐëµÄ¡£
case½á¹¹Í¨³£±»ÓÃÓڲ˵¥Ñ¡Ôñ»òÕßÊÇÐèÒª¶Ô¼¸¸öÓû§ÊäÈëÑ¡Ïî×÷³öÑ¡ÔñµÄʱºò¡£

12.shell±à³Ì £­?·ÖÖ§£º×ܽá

·µ»ØÖµ???ÿһ¸ö³ÌÐòµÄ·µ»ØÖµ £­ echo $?
Êý×Ötest??[ "$num1" -lt "$num2" ]
×Ö·û´®test?[ $string1 = $string2 ]
Îļþtest ? test -f filename
exit n ?? ÖÕÖ¹³ÌÐòµÄÔÊÐí²¢ÇÒÉèÖ÷µ»ØÖµ
if ???????????????????case word in
???command listA???????????pattern1) command list
then?????????????????? ;;
???command listB???????????pattern2) command list
else?????????????????? ;;
???command listC???????????*) ????command list
fi ???????????????????;;
???????????????????? esac
Ö´ÐÐÄǸöÓï¾ä»ùÓÚlistAÖÐ×îºóÒ»Ìõ?????×Ö·û´®word»áÓëÿһ¸öpattern±È½Ï
ÃüÁîµÄ·µ»ØÖµ
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ