¡¡¡¡ÎÒÃÇÖªµÀ£¬¶ÔÓÚλÖñäÁ¿»òÃüÁîÐвÎÊý£¬Æä¸öÊý±ØÐëÊÇÈ·¶¨µÄ£¬»òÕßµ±Shell³ÌÐò²»ÖªµÀÆä¸öÊýʱ£¬¿ÉÒÔ°ÑËùÓвÎÊýÒ»Æð¸³Öµ¸ø±äÁ¿$*¡£ÈôÓû§ÒªÇóShellÔÚ²»ÖªµÀλÖñäÁ¿¸öÊýµÄÇé¿öÏ£¬»¹ÄÜÖð¸öµÄ°Ñ²ÎÊýÒ»Ò»´¦Àí£¬Ò²¾ÍÊÇÔÚ$1ºóΪ$2,ÔÚ$2ºóÃæÎª$3µÈ¡£ÔÚ shiftÃüÁîÖ´ÐÐǰ±äÁ¿$1µÄÖµÔÚshiftÃüÁîÖ´Ðкó¾Í²»¿ÉÓÃÁË¡£
ʾÀýÈçÏ£º
#²âÊÔshiftÃüÁî(x_shift.sh)
until [ $# -eq 0 ]
do
echo "µÚÒ»¸ö²ÎÊýΪ: $1 ²ÎÊý¸öÊýΪ: $#"
shift
done
Ö´ÐÐÒÔÉϳÌÐòx_shift.sh£º
$./x_shift.sh 1 2 3 4
½á¹ûÏÔʾÈçÏ£º
µÚÒ»¸ö²ÎÊýΪ: 1 ²ÎÊý¸öÊýΪ: 4
µÚÒ»¸ö²ÎÊýΪ: 2 ²ÎÊý¸öÊýΪ: 3
µÚÒ»¸ö²ÎÊýΪ: 3 ²ÎÊý¸öÊýΪ: 2
µÚÒ»¸ö²ÎÊýΪ: 4 ²ÎÊý¸öÊýΪ: 1
´ÓÉÏ¿ÉÖªshiftÃüÁîÿִÐÐÒ»´Î£¬±äÁ¿µÄ¸öÊý($#)¼õÒ»£¬¶ø±äÁ¿ÖµÌáǰһ룬ÏÂÃæ´úÂëÓÃuntilºÍshiftÃüÁî¼ÆËãËùÓÐÃüÁîÐвÎÊýµÄºÍ¡£
#shiftÉϵµÃüÁîµÄÓ¦ÓÃ(x_shift2.sh)
if [ $# -eq 0 ]
then
echo "Usage:x_shift2.sh ²ÎÊý"
exit 1
fi
sum=0
until [ $# -eq 0 ]
do
sum=`expr $sum + $1`
shift
done
echo "sum is: $sum"
Ö´ÐÐÉÏÊö³ÌÐò:
$x_shift2.sh 10 20 15
ÆäÏÔʾ½á¹ûΪ£º
45
¡¡¡¡shiftÃüÁÓÐÁíÍâÒ»¸öÖØÒªÓÃ;,Bsh¶¨ÒåÁË9¸öλÖñäÁ¿£¬´Ó$1µ½$9,Õâ²¢²»Òâζ×ÅÓû§ÔÚÃüÁîÐÐÖ»ÄÜʹÓÃ9¸ö²ÎÊý£¬½èÖúshiftÃüÁî¿ÉÒÔ·ÃÎʶàÓÚ9¸öµÄ²ÎÊý¡£
¡¡¡¡ShiftÃüÁîÒ»´ÎÒÆ¶¯²ÎÊýµÄ¸öÊýÓÉÆäËù´øµÄ²ÎÊýÖ¸¶¨¡£ÀýÈçµ±shell³ÌÐò´¦ÀíÍêǰ¾Å¸öÃüÁîÐвÎÊýºó£¬¿ÉÒÔʹÓÃshift 9ÃüÁî°Ñ$10ÒÆµ½$1¡£
¡¡¡¡ÔÚÊìϤÁËshiftÃüÁîºó£¬ÎÒÃÇÒ»Æð¿´¿´£¬Bsh³ÌÐòÖзdz£ÓÐÓõÄforÑ»·Óï¾ä£¬ÕâÖÖÑ»·Í¬ÉÏÃæËµµÄwhileºÍuntilÑ»·²»Í¬£¬forÓï¾äÖеÄÑ»·ÊÇ·ñÖ´Ðв¢²»ÓÉij¸öÌõ¼þµÄÕæºÍ¼ÙÀ´¾ö¶¨£¬¾ö¶¨forÑ»·ÊÇ·ñ¼ÌÐøµÄÌõ¼þÊDzÎÊý±íÖÐÊÇ·ñ»¹ÓÐδ´¦ÀíµÄ²ÎÊý¡£
µ÷ÊÔshell³ÌÐò
¡¡¡¡Óû§¸Õ±àдÍêShell³ÌÐòÖУ¬²»¿É±ÜÃâµÄ»áÓдíÎó£¬ÕâʱÎÒÃÇ¿ÉÒÔÀûÓÃBshÖÐÌṩµÄ¸ú×ÙÑ¡Ï¸ÃÑ¡Ïî»áÏÔʾ¸Õ¸ÕÖ´ÐеÄÃüÁî¼°²ÎÊý¡£Óû§¿ÉÒÔͨ¹ýsetÃüÁî´ò¿ª-xÑ¡Ïî»òÔÚÆô¶¯ShellʹÓÃ-xÑ¡ÏShellÉèÖóɸú×Ùģʽ¡£ÀýÈçÓÐÏÂÃæ´úÂëice_tx:
¡¡¡¡if [ $# -eq 0 ]
¡¡¡¡then
¡¡¡¡¡¡¡¡echo "usage:sumints integer list"
¡¡¡¡¡¡¡¡exit 1
¡¡¡¡fi
¡¡¡¡sum=0
¡¡¡¡until [ $# -eq 0 ]
¡¡¡¡do
¡¡¡¡¡¡¡¡sum='expr $sum + $1'
¡¡¡¡¡¡¡¡shift
¡¡¡¡done
¡¡¡¡echo $sum
¡¡¡¡ÎÒÃÇÓøú×ÙģʽÔËÐÐ:
¡¡¡¡$sh -x ice_tx 2 3 4
¡¡¡¡½á¹ûÏÔʾ:
¡¡¡¡+[ 3 -eq 0 ]
¡¡¡¡+sum=0
¡¡¡¡+[ 3 -eq 0 ]
¡¡¡¡+expr 0+2
¡¡¡¡+sum=2
¡¡¡¡+shift
¡¡¡¡+[ 2 -eq 0 ]
¡¡¡¡+expr 2+3
¡¡¡¡+sum=5
¡¡¡¡+shift
¡¡¡¡+[ 1 -eq 0 ]
¡¡¡¡+expr 5+4
¡¡¡¡+sum=9
¡¡¡¡+[ 0 -eq 0 ]
¡¡¡¡+echo 9
¡¡¡¡9
¡¡¡¡´ÓÉÏÃæ¿ÉÒÔ¿´³ö£¬¸ú×ÙģʽÏÂShellÏÔʾִÐеÄÿһÌõÃüÁîÒÔ¼°¸ÃÃüÁîʹÓõıäÁ¿Ìæ»»ºóµÄ²ÎÊýÖµ¡£Ò»Ð©¿ØÖÆ×ÖÈçif¡¢then¡¢untilµÈûÏÔʾ¡£


hdongmiao ÓÚ 2012-01-30 20:26:04·¢±í:
ѧϰÏÂÏÈ
chenyangmvp ÓÚ 2012-01-30 17:59:38·¢±í:
ÖÕÓÚÄܽ«Ñ§µ½µÄÕâЩÓõ½¹¤×÷ÖÐÈ¥ÁË
aanchun1989 ÓÚ 2009-08-19 21:21:41·¢±í:
ºÜºÃ£¬Ñ§Ï°ÁË