ÒýÓÃ:
Ò»¡¢Óû§µÇ½½øÈëϵͳºóµÄϵͳ»·¾³±äÁ¿£º
$HOME ʹÓÃÕß×Ô¼ºµÄĿ¼
$PATH Ö´ÐÐÃüÁîʱËùËÑѰµÄĿ¼
$TZ Ê±Çø
$MAILCHECK ÿ¸ô¶àÉÙÃë¼ì²éÊÇ·ñÓÐеÄÐżþ
$PS1 ÔÚÃüÁîÁÐʱµÄÌáʾºÅ
$PS2 µ±ÃüÁîÉÐδ´òÍêʱ£¬Shell ÒªÇóÔÙÊäÈëʱµÄÌáʾºÅ
$MANPATH man Ö¸ÁîµÄËÑѰ·¾¶
¶þ¡¢ÌØÊâ±äÁ¿£º
$0 Õâ¸ö³ÌÐòµÄÖ´ÐÐÃû×Ö
$n Õâ¸ö³ÌÐòµÄµÚn¸ö²ÎÊýÖµ£¬n=1..9
$* Õâ¸ö³ÌÐòµÄËùÓвÎÊý
$# Õâ¸ö³ÌÐòµÄ²ÎÊý¸öÊý
$$ Õâ¸ö³ÌÐòµÄPID
$! Ö´ÐÐÉÏÒ»¸öÖ¸ÁîµÄPID
$? Ö´ÐÐÉÏÒ»¸öÖ¸ÁîµÄ·µ»ØÖµ
Èý¡¢shellÖеıäÔª£º
* ÈÎÒâ×Ö·û´®
? Ò»¸öÈÎÒâ×Ö·û
[abc] a, b, cÈýÕßÖÐÖ®Ò»
[a-n] ´Óaµ½nµÄÈÎÒ»×Ö·û
ËÄ¡¢¼¸¸öÌØÊâ×Ö·û±íʾ
\b ÍË»Ø
\c ´òÓ¡Ò»ÐÐʱûÓл»Ðзû Õâ¸öÎÒÃǾ³£»áÓõ½
\f »»Ò³
\r »Ø³µ
\t ÖÆ±í
\v ´¹Ö±ÖƱí
\\ ·´Ð±Ïß±¾Éí
Îå¡¢ÅжÏÎļþµÄÊôÐÔ
¸ñʽ£º-²Ù×÷·û filename
-e Îļþ´æÔÚ·µ»Ø1£¬ ·ñÔò·µ»Ø0
-r Îļþ¿É¶Á·µ»Ø1,·ñÔò·µ»Ø0
-w Îļþ¿Éд·µ»Ø1,·ñÔò·µ»Ø0
-x Îļþ¿ÉÖ´Ðзµ»Ø1,·ñÔò·µ»Ø0
-o ÎļþÊôÓÚÓû§±¾ÈË·µ»Ø1, ·ñÔò·µ»Ø0
-z Îļþ³¤¶ÈΪ0·µ»Ø1, ·ñÔò·µ»Ø0.
-f ÎļþΪÆÕͨÎļþ·µ»Ø1, ·ñÔò·µ»Ø0
-d ÎļþΪĿ¼Îļþʱ·µ»Ø1, ·ñÔò·µ»Ø0
Áù¡¢²âÊÔ×Ö·û´®
×Ö·û´®1 = ×Ö·û´®2¡¡µ±Á½¸ö×Ö´®ÏàµÈÊ±ÎªÕæ
×Ö·û´®1 != ×Ö·û´®2 µ±Á½¸ö×Ö´®²»µÈÊ±ÎªÕæ
-n ×Ö·û´®¡¡ ¡¡¡¡¡¡ µ±×Ö·û´®µÄ³¤¶È´óÓÚ0Ê±ÎªÕæ
-z ×Ö·û´®¡¡¡¡¡¡¡¡¡¡ µ±×Ö·û´®µÄ³¤¶ÈΪ0Ê±ÎªÕæ
×Ö·û´®¡¡¡¡¡¡¡¡¡¡¡¡ µ±´®×Ö·û´®Îª·Ç¿ÕÊ±ÎªÕæ
Æß¡¢²âÊÔÁ½¸öÕûÊý¹ØÏµ
Êý×Ö1 -eq Êý×Ö2¡¡¡¡¡¡¡¡ Á½ÊýÏàµÈÎªÕæ
Êý×Ö1 -ne Êý×Ö2¡¡¡¡¡¡¡¡ Á½Êý²»µÈÎªÕæ
Êý×Ö1 -gt Êý×Ö2¡¡¡¡¡¡¡¡ Êý×Ö1´óÓÚÊý×Ö2ÎªÕæ
Êý×Ö1 -ge Êý×Ö2 ¡¡¡¡¡¡ Êý×Ö1´óÓÚµÈÓÚÊý×Ö2ÎªÕæ
Êý×Ö1 -lt Êý×Ö2¡¡¡¡¡¡¡¡ Êý×Ö1СÓÚÊý×Ö2ÎªÕæ
Êý×Ö1 -le Êý×Ö2¡¡¡¡¡¡¡¡ Êý×Ö1СÓÚµÈÓÚÊý×Ö2ÎªÕæ
°Ë¡¢Âß¼²âÊÔ
-a ¡¡ ¡¡¡¡¡¡¡¡¡¡ Óë
-o¡¡¡¡¡¡¡¡¡¡¡¡¡¡ »ò
!¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡·Ç
½ñÌì½éÉÜshellÌØÊâ×Ö·ûµÄÒýÓÃ
===============================
shellÖеÄÌØÊâ×Ö·ûÓÐ
1¡¢$ ÃÀÔª·û
2¡¢\ ·´Ð±¸Ü
3¡¢` ·´ÒýºÅ
4¡¢"¡¡Ë«ÒýºÅ
5¡¢< ,>,*,?,[,]
ÏÂÃæÎÒÒ»Ò»¾ÙÁÐ˵Ã÷
Ò»¡¢$·ûºÅ
1¡¢echo $? ÏÔʾµÄÊÇÉÏÒ»ÌõÖ¸ÁîÍ˳ö״̬
2¡¢echo "$?" Ч¹ûͬÉÏ
3¡¢echo '$?' ÏÔʾµÄÊÇ$?
4¡¢echo \$? ÏÔʾµÄÊÇ$?
5¡¢echo "\$?" ÏÔʾµÄÊÇ$?
¡¡¡¡´ó¼Ò¿ÉÄÜÒѾ¿´³ö¡¡$·ûºÅÔÚË«ÒýºÅÖоßÓÐÌØÊâÒâÒå¡¡Ë«ÒýºÅ¶Ô$·ûºÅ²»Æð×÷ÓÃ
¶øµ¥ÒýºÅ¿ÉÒÔ½«ÌØÊâ×Ö·ûµÄµÄÌØÊâÒâÒåÆÁ±Îµô£¬Ê¹ÆäÄÜÏÔʾΪ×Ö·û±¾Éí£¬·´Ð±
¸ÜÒ²¿ÉÒÔ½«ÌØÊâ×Ö·ûµÄÌØÊ⺬ÒåÆÁ±Îµô£¬Ê¹ÌØÊâ×Ö·ûÊ§È¥ÌØÊ⺬Òå¡£
¶þ¡¢\¡¡·´Ð±¸Ü
¡¡¡¡·´Ð±¸ÜµÄ×÷ÓÃÊǽ«ÌØÊâ·ûºÅ×Ö·ûµÄÌØÊ⺬ÒåÆÁ±Îµô£¬Ê¹Æä»¹ÊÇÔ×Ö·û
A£½1234
echo \$A ÏÔʾΪ$A Èç¹û²»¼Ó\½«ÏÔʾΪ1234
echo \` ÏÔʾΪ`
echo \" ÏÔʾΪ˫ÒýºÅ
echo \\ ÏÔʾΪ\
Èý¡¢` ·´ÒýºÅ
¡¡¡¡·´ÒýºÅµÄ¹¦ÄÜÊÇÃüÁîÌæ»»£¬½«·´ÒýºÅÖеÄ×Ö·û´®×öΪÃüÁîÀ´Ö´ÐУ¬ÎÒÃÇÔÚÓÃshell±à³Ìʱ¾³£Óõĵ½¡¡½«ÏµÍ³ÃüÁîµÄÖ´Ðнá¹û¸³¸øÒ»¸ö±äÁ¿
A=`date`
echo $A ÏÔʾµÄ²»ÊÇdate¶øÊǵ±Ê±µÄʱ¼ä´®
±ÈÈçÓÐÒ»ÎļþAµÄÄÚÈÝÈçÏ¡¡
ABCDEFG
1234456
abcdefg
B=`cat A|grep 234`? # ¼ìË÷ÎļþAÖк¬ÓÐ×Ö·û´®234µÄÐÐ
echo $B ½«ÏÔʾΪ1234456
echo "$B" ½«ÏÔʾΪʲô£¿
echo "\$B" ½«ÏÔʾΪʲô£¿¶ÁÕß×Ô¼ºÊÔÊÔ
ËÄ¡¢" Ë«ÒýºÅ
¡¡¡¡ÔÚϵͳÖÐÓÐÐ©ÌØÊâ×Ö·û£¬Îª±ÜÃâÒýÓÃÕâÐ©ÌØÊâ×Ö·û¡¡ÍùÍùÓÃË«ÒýºÅ»òµ¥ÒýºÅ½«ÕâÐ©ÌØÊâ×Ö·ûÒýÆðÀ´£¬Ê¹Æä²»¾ßÓÐÌØÊ⺬Òå¡£
¡¡¡¡µ«ÓÐÒ»²¿·ÖÌØÊâ×Ö·ûÔÚÒýºÅÖл¹ÊǾßÓÐÌØÊ⺬Ò壬ÓÃË«ÒýºÅÒýÆðÀ´ÊDz»Æð×÷Óõġ£±¾ÎÄÖÐËùÁеÄǰËĸöÌØÊâ×Ö·ûÔÚË«ÒýºÅÖл¹ÊÇÌØÊâ×Ö·û¡£ÎªÁËʹÆä²»¾ßÓÐÌØÊ⺬ÒåÒ»ÊÇÓõ¥ÒýºÅÒý½øÀ´¶þÊÇÓÃ\·´Ð±ÏßʹÆäʧȥ×÷Óá£
¡¡¡¡±ÈÈçÎÒÃÇÏëÔÑùÊä³öÕâÐ©ÌØÊâ×Ö·û
echo """
echo "$"
echo "\"
echo "`"
¡¡¡¡¡¡ÒÔÉϲ»ÊÇÄãËùÆÚÍûµÄ½á¹û£¬ÒòΪ˫ÒýºÅ¶ÔËüÃDz»Æð×÷Óã¬ÄãÖ»ÄÜÕâÑù²ÅÄÜÊä³öÕâÐ©ÌØÊâ×Ö·ûµÄÔÐÎ
echo '"'
echo '$'
echo '\'
echo '`'
»ò
echo "\""
echo "\$"
echo "\\"
echo "\`"
½«·Ö±ðÏÔʾΪ¡¡" $ \ `
Îå¡¢ÆäËüÌØÊâ×Ö·û
¡¡¡¡´ó¼Ò×¢Òâµ½¡¡³ýÁËǰËĸöÌØÊâ×Ö·ûÍâ¡¡ÎÒ½«ÆäËüµÄÌØÊâ×Ö·û¶¼·ÅÔÚÒ»¿é£¬ÕâÊÇÒòΪǰËĸöÌØÊâ×Ö·ûÔÚË«ÒýºÅÖл¹ÊǾßÓÐÌØÊ⺬Ò壬ËùÒÔµ¥¶ÀÄóöÀ´½²£¬³ý´ËÒÔÍâµÄÌØÊâ×Ö·ûÈç¹ûÄãÒªÊä³öÕâÐ©ÌØÊâ×Ö·ûµÄÔÐΣ¬Äã¾Í¿ÉÒÔÓÃË«ÒýºÅ»òµ¥ÒýºÅÒýÆðÀ´Ê¹ÆäÊ§È¥ÌØÊ⺬Òå¡£
< ,>,*,?,[,]¶ÔshellÓÐÌØÊ⺬Òå¡¡µ«Äã¿ÉÒÔÓÃË«ÒýºÅÒýÆðÀ´ÊäÈëÕâЩÔÐÎ
¡¡¡¡½²ÁËÕâô¶à´ó¼ÒÊDz»ÊÇÒѾעÒâµ½ËùÓеÄÌØÊâ×Ö·ûÔÚµ¥ÒýºÅÖÐÊ§È¥ÌØÊ⺬Ò壬Èç¹ûÄãÒªÊä³öÌØÊâ×Ö·ûÔÐε«ÓּDz»ÇåÄÇÐ©ÌØÊâ×Ö·ûÔÚË«ÒýºÅÖв»ÄÜÊä³öÔÐΣ¬½¨ÒéÄã¸É´àÓõ¥ÒýºÅÒýÆðÀ´¡£
½ñÌì½éÉÜÌõ¼þ²âÊÔÓï¾ä
Ò»¡¢if Ìõ¼þÓï¾ä¡¡
¸ñʽ£º
if Ìõ¼þ±í´ïʽ
then #µ±Ìõ¼þÎªÕæÊ±Ö´ÐÐÒÔÏÂÓï¾ä
ÃüÁîÁбí
else #Ϊ¼ÙʱִÐÐÒÔÏÂÓï¾ä
ÃüÁîÁбí
fi
if¡¡Óï¾äÒ²¿ÉÒÔǶÌ×ʹÓÃ
if Ìõ¼þ±í´ïʽ1
then
if Ìõ¼þ±í´ïʽ2
then
ÃüÁîÁбí
else
if Ìõ¼þ±í´ïʽ3
then
ÃüÁîÁбí
else
ÃüÁîÁбí
fi
fi
else
ÃüÁîÁбí
fi
Äã¿ÉÒÔ½øÐжà²ãǶÌס¡Ò»¸öifÓï¾äÒ»¶¨Òª¸úÒ»¸öfi¡¡±íʾ¸Ã²ãÌõ¼þ½áÊø¡¡¡¡·ñÔò»áÔì³ÉÓï·¨´íÎó
½áºÏÇ°Ãæ½²µÄ¡¡¾ÙÀýÈçÏ£º
ÕâÀïÏȽ²Ò»¸öÌõ¼þÓï¾äÖÐÓõ½µÄÃüÁîtest¡¡±íʾ²âÊÔtestºóÃæµÄÌõ¼þÊÇ·ñÎªÕæ
if test -f "$1"
then
lpr $1
else
if test -d "$1"
then
cd $1
lpr $1
else
echo "$1²»ÊÇÎļþ»òĿ¼"
fi
fi
ÒÔÉϵÄÀý×Ó»¹¿ÉÒԸijÉÈçÏÂËùʾ
if test -f "$1"
then
lpr $1
elif test -d "$1" #elif¡¡Í¬else if
then
(cd $1;lpr $1)
else
echo "$1²»ÊÇÎļþ»òĿ¼"
fi??????
ÒÔÉϵÄÀý×Ó²»ÖªÄúÊÇ·ñ¿´¶®ÊÇʲôÒâ˼Âð£¿
¼ÙÈçÎÒÃÇÏÖÔÚ½«Õâ¸öÀý×Ó±£´æÎªprfile
chmod +x prfile
Ö´ÐиղŵijÌÐò
./prfile aaa
Õâ¸öÀý×ÓÊǼì²éÄãµÄÊäÈëµÄ²ÎÊýÊÇ·ñÊÇÒ»¸öÎļþ¡¡Èç¹ûÊǾʹòÓ¡¡¡Èç¹ûÊÇÒ»¸öĿ¼¡¡ÏÈתĿ¼ÔÙ´òÓ¡¡¡Èç¹û¼´²»ÊÇÎļþÒ²²»ÊÇĿ¼¸ø³öÌáʾ
¶þ¡¢¶àÖØÌõ¼þ²âÊÔÓï¾äcase
¸ñʽ£º
case ×Ö´®¡¡in
ģʽ) ÃüÁîÁбí;;
ģʽ) ÃüÁîÁбí;;
....
esac
¶àÖØÌõ¼þÓï¾äÊÇÒÔcase ¿ªÊ¼ÒÔesac½áÊø¡¡Öмä¿ÉÒÔÓжà¸öÌõ¼þÁÐ±í¡¡¹¦ÄÜÊDzâÊÔ×Ö´®ºÍºÍÀïÃæµÄģʽÓÐûÓÐÆ¥ÅäµÄ,ÓоÍÖ´ÐÐÀïÃæµÄÃüÁîÁÐ±í¡¡Ä£Ê½Ò²¿ÉÒÔÊÇ*ºÅ¡¡±íʾÈÎÒâ×Ö´®£¬Ã¿¸öģʽÀïÃæµÄ×îºóÒªÐÄ;;Ë«ÒýºÅ½áÊø£¬·ñÔò»á·¢ÉúÓï·¨´íÎó¡£
ÏÖ¾ÙÀýÈçÏ£º
case $1 in
*.c)
cc $1
;;
*.txt)
lpr $1
;;
*)
echo "δ֪µÄÀàÐÍ"
esac
¼ÙÈ罫ÒÔÉÏÄÚÈݱ£´æÔÚÎļþabcÖÐ
chmod +x abc
Ö´ÐС¡./abc a.c ¡¡ ½«»á¶ÔÎļþa.c½øÐбàÒë
Ö´ÐÐ ./abc readme.txt¡¡½«»á°ÑÎļþͨ¹ý´òÓ¡»ú
¼ÙÈçÎÒ½«ÒÔÉÏÄÚÈݸÄһϣ¬ÄãÊÇ·ñ»áÖªµÀËüµÄÖ´Ðнá¹û£¿
case $1 in
*)
cc $1
;;
*.txt)
lpr $1
;;
*.c)
echo "δ֪µÄÀàÐÍ"
esac
½ñÌì½éÉÜÑ»·Óï¾ä
Ò». while Ñ»·
while ÃüÁî¸ñʽ
while Ìõ¼þ±í
do
ÃüÁî±í
done
Ö´Ðйý³Ì
shellÊ×ÏÈÖ´ÐÐÌõ¼þ±í,Èç¹ûÌõ¼þ±íµÄ×îºóÒ»ÌõÓï¾äµÄÍ˳ö״̬ΪÁã,ÔòÖ´Ðжܻ·ÌåÄÚµÄÃüÁî
±í,Ö´ÐÐÍêºó,ÔÙ¼ì²éÌõ¼þ±í,Èç¹ûÍ˳ö״̬ΪÁ㽫¼ÌÐøÖ´ÐÐ,Èç´ËÑ»·Íù¸´Ö±µ½Ìõ¼þ±íµÄ
×îºóÒ»ÌõÓï¾äµÄÍ˳ö״̬·ÇÁã. Í˳ö״̬ΪÁã¾ÍÊÇÌõ¼þÎªÕæTrue.
¾ÙÀý˵Ã÷ ¼ÙÈçshellÎļþµÄÄÚÈÝÈçÏÂ:
Sum=0
i=0
while true #trueÊÇϵͳµÄ¹Ø¼ü´Ê ±íÊ¾Õæ
do
i=`expr $i + 1`
Sum=`expr $Sum + $i`
if [ $i = "100" ]
then
break;
fi
done
echo $i $Sum
×îºóÕâ¸ö³ÌÐòÏÔʾµÄÊÇ 100 5050
Õâ¸ö³ÌÐòµÄÔËËã¾ÍÊǽ«1µ½100¼ÓÆðÀ´
ÏÂÃæ½«Õâ¸ö³ÌÐòÔٸĶ¯Ò»ÏÂ
Sum=0
i=0
while [ $i != "100" ]
do
i=`expr $i + 1`
Sum=`expr $Sum + $i`
done
echo $i $Sum
¸Ä¶¯ºóµÄ³ÌÐòÔËËã½á¹ûºÍÉÏÃæÊÇÒ»Ñù µ«³ÌÐò±ÈÉÏÃæµÄÒª¼òÁ·
ÔÚÕâ¸öÑ»·Öл¹¿ÉÒÔÒÔuntil×öΪ²âÊÔÌõ¼þ ËüÕýºÃÓëwhile²âÊÔµÄÌõ¼þÏà·´,Ò²¾ÍÊǵ±Ìõ¼þΪ¼Ùʱ½«¼ÌÐøÖ´ÐÐÑ»·ÌåÄÚµÄÓï¾ä,·ñÔò¾ÍÍ˳öÑ»·Ìå,ÏÂÃæ»¹ÓÃÕâ¸öÀý×Ó.
Sum=0
i=0
until [ $i = "100" ]
do
i=`expr $i + 1`
Sum=`expr $Sum + $i`
done
echo $i $Sum
µ±i²»µÈÓÚ100ʱѻ· ¾ÍÊǵ±Ìõ¼þΪ¼Ùʱѻ·,·ñÔò¾ÍÍ˳ö,¶øµÚÒ»¸öÀý×ÓÊǵ±i²»µÈÓÚ100
ʱѻ·,Ò²¾ÍÊDzâÊÔÌõ¼þÎªÕæÊ±Ñ»·.
¶þ.for Ñ»·
ÃüÁî¸ñʽ:
for ±äÁ¿ in Ãû×ÖÁбí
do
ÃüÁîÁбí
done
ÕâÀïµÄÃû×ÖÁбíÊÇÒ»¸öÓɿոñ·Ö¸ôµÄ×Ö·û´®Áбí,shellÔÚÖ´ÐÐforÑ»·Ê±Ã¿´ÎÒÀ´Î´ÓÃû×Ö±í
ÖÐÈ¡³öÒ»¸ö×Ö·û´®¸³¸øÑ»·±äÁ¿×÷Ϊ±äÁ¿µÄÖµ.
ÔÚдforÓï¾äʱ,Ò²¿ÉÒÔÊ¡ÂÔin Ãû×ÖÁÐ±í²¿·Ö,Õâ±íʾÓõ±Ç°µÄλÖòÎÊýÀ´´úÌæÕâʱµÄÃû
×ÖÁбí.
ÏÂÃæ¾Ù¸öÀý×Ó
±ÈÈçÔÚÄãµÄµçÄÔÖÐÓÐÁ½¸öĿ¼,Ò»¸öÊÇaa,Ò»¸öÊÇbbÔÚÕâÁ½¸öĿ¼ÖÐÓÐ5¸öÏàͬµÄÎļþ,µ«Æä
ÖÐÒ»¸öĿ¼ÖеÄÒ»¸ö»ò¶à¸öÎļþ¸Õ¸ÕÐ޸Ĺý,ÏÖÔÚÎÒÍü¼Ç¸Õ²Å¸ÄµÄÊÇÄǼ¸¸öÎļþ ÁË,ÄÇôÎÒ¿¿ÉÒԱȽÏÒ»ÏÂÕâÁ½¸öĿ¼µÄÎļ?ÍÖ?ÀÁ?³ÌÐòÈçÏÂ:
for File in a1 a2 a3 a4 a5
do
diff aa/$File bb/$File
done
ÏÂÃæÔÙ¾ÙÒ»¸ö²»´øÃû×ÖÁбíµÄÀý×Ó
for File
do
echo $Filw
done
ÎļþÄÚÈݱ£´æÔÚa.shÖÐ ²¢¿ÉÖ´ÐÐ
ÎÒÃÇÔÚÖ´ÐÐÕâ¸öshell³ÌÐòʱÃüÁîÐÐÈçÏÂ:
a.sh a1 a2 a3 a4 a5
Ö´Ðнá¹ûÈçÏÂ:
a1
a2
a3
a4
a5
´ó¼Ò´ÓÕâ¸öÀý×ÓÖпÉÒÔ¿´µ½ÃüÁîÐеIJÎÊý±»ÖðÒ»¶ÁÈëÒ»´Î
Èý.Ñ»·¿ØÖÆÓï¾ä
break ÃüÁî²»Ö´Ðе±Ç°Ñ»·ÌåÄÚbreakÏÂÃæµÄÓï¾ä´Óµ±Ç°Ñ»·Í˳ö.
continue ÃüÁîÊdzÌÐòÔÚ±¾ÑÌåÄÚºöÂÔÏÂÃæµÄÓï¾ä,´ÓÑ»·Í·¿ªÊ¼Ö´ÐÐ.
Ò»,ÃüÁî×éºÏ:Ô²À¨ºÅºÍ»¨À¨ºÅ
shellÖÐÓÐÁ½ÖÖ·½·¨½«ÃüÁî×éºÏÔÚÒ»Æð:Ô²À¨ºÅºÍ»¨À¨ºÅ.Ô²À¨ºÅʹshell´´½¨Ò»¸ö×Óshell
À´¶ÁÈ¡²¢Ö´ÐÐÀ¨ÆðÀ´µÄÃûÃüÁî.×óÀ¨ºÅºÍÓÒÀ¨ºÅ²»ÂÛ³öÏÖÔÚÃüÁîÐÐÖеÄʲôλÖÃ,shell¶¼»á
ÈÏΪËüÃǾßÓÐÌØÊâµÄ×éºÏÒâÒåµÄ.Ö»ÓÐÓÃË«ÒýºÅ½«ËüÃÇÀ¨ÆðÀ´ÒýÓÃ,²Å±íʾԲÀ¨ºÅ»ò»¨À¨ºÅ
µÄÔÒå.ÀýÈç:
echo a(b)
½«³öÏÖÓï·¨ÉϵĴíÎó,ÒªÏëÊä³öa(b)×Ö·û´® Ö»ÄÜÀ¨ÆðÀ´
echo "a(b)"
»òecho a"("b")"
ÕâÑù²ÅÄܱ»shellÕýÈ·½âÊÍ.
ÀûÓÃ×éºÏÃüÁîÓÐʲô×÷ÓÃÄØ?
Ò»,ÓÃÔ²À¨ºÅ×éºÏÃüÁî
Ô²À¨ºÅµÄ×éºÏÃüÁî¿ÉÒÔ´´½¨×Ó½ø³ÌÔËÐÐ×éºÏ³ÌÐò,½¨Á¢×Ó½ø³ÌµÄ¹¦ÄÜÊǺÜÓÐÓõÄ,ÒòΪ
×ÓshellÔÚ×éºÏÃüÁîÖеÄÖÖÖÖ²Ù×÷¶¼²»»áÓ°Ïìµ½µ±Ç°shellµÄ¸÷±äÁ¿µÄÖµ.
ÀýÈç:
×Ó½ø³ÌÔÚÖ´ÐÐ×éºÏÃüÁîʱ¸Ä±äÁ˹¤×÷Ŀ¼,²¢ÔÚÐµĹ¤×÷Ŀ¼ÏÂÖ´ÐÐһϵÀýÃüÁî,Ö´ÐÐ
ÍêºóËü¿ÉÒÔ²»±Ø·µ»ØÔ¹¤×÷Ŀ¼,ÒòΪ×Ó½ø³Ì¹¤×÷Ŀ¼µÄ¸Ä±ä²»»áÓ°Ïìµ½µ±Ç°¹¤×÷Ŀ¼.
´´½¨×Ó½ø³Ìºó½«µ±Ç°µÄ»·¾³Ò²Í¬Ñù´«¸ø×Óshell,µ±Ç°shellÖÐÓÃexportÊä³öµ½»·¾³ÖеÄ
¸÷±äÁ¿ÔÚ×ÓshellÖÐͬÑùÓÐЧ.
»¨À¨ºÅÒ²¿ÉÒÔ½«ÃüÁî×éºÏÔÚÒ»Æð.×ó ÓÒ»¨À¨ºÅÖ»ÓÐ×÷ΪһÌõÃüÁîµÄµÚÒ»¸ö×Ö³öÏÖʱ,
shell²ÅËüÃǺ¬ÓÐÌØÊ⺬Òå.
ÓëÔ²À¨ºÅ²»Í¬µÄÊÇ»¨À¨ºÅ²¢²»´´½¨×Óshell,Ö»ÊÇÓɵ±Ç°µÄshellÀ´¶ÁÈ¡²¢Ö´ÐÐÀ¨ÆðÀ´µÄ
ÃüÁî.ÓÐʱÓû§Ï£ÍûʹÓÃÒ»×éÃüÁîµÄ˳ÐòÊä³ö×÷ΪÁíÒ»×éÃüÁîµÄÊäÈë,´ËʱÓû¨À¨ºÅÊǺܷ½
±ãµÄ.
²»ÂÛÊÇÓÃÔ²À¨ºÅ²»ÊÇ»¨À¨ºÅ,Í˳ö״̬¶¼ÊǵÈÓÚ×îºóÒ»ÌõÀ¨ÆðÀ´µÄÃüÁîµÄÍ˳ö״̬.
¶þ,¿ÉÒÔÔÚµ±Ç°shellÖÐÖ´ÐеÄÃüÁî
Óû§ÔÚʹÓÃshellʱһ¶¨ÒªÁ˽âÄÇЩÊÇ¿ÉÒÔÔÚµ±Ç°shellÖÐÖ´ÐеÄÃüÁî ÄÇЩ²»¿ÉÒÔ
¿ÉÒÔÔÚµ±Ç°shellÖÐÖ´ÐеÄÃüÁîÓÐ:
break case cd continue
echo eval exec exit
export for if read
readonly return set shift
test times trap umask
until wait while
: {}


sxwailyc ÓÚ 2006-09-05 08:15:13·¢±í:
ÓÐÓÃ