linuxѧϰ±Ê¼Ç ÏÂÔØ±¾ÎÄ

·½·¨¡£ËüÊÇÒ»¸öºÃÖ÷ÒâÓÃÀ´¼ì²éÄãµÄ²ÎÊý£¬ÒÔÈ·±£ÔÚʹÓÃËüÃÇ֮ǰȷʵÓÐÊý¾Ý£º

$ cat test7 #!/bin/bash

# testing parameters before use if [ -n \then

echo Hello $1, glad to meet you. else

echo \¡¯t identify yourself.\Fi

$ ./test7 Rich

Hello Rich, glad to meet you. $ ./test7

Sorry, you didn¡¯t identify yourself. $

ÔÚÕâ¸öÀý×ÓÖУ¬ÎÒʹÓÃ-n²ÎÊý²âÊÔÃüÁîÀ´¼ì²éÃüÁîÐвÎÊýÊÇ·ñÓÐÊý¾Ý¡£ÔÚÏÂÒ»½ÚÖУ¬Äã»á¿´µ½ÓÐÁíÒ»ÖÖ·½Ê½À´¼ì²éÃüÁîÐвÎÊý¡£

Special Parameter Variables£¨ÌØÊâ²ÎÊý±äÁ¿£©

ÔÚbash shellÃüÁîÐвÎÊýÖÐÓÐÒ»Ð©ÌØÊâµÄ±äÁ¿¡£Õⲿ·ÖÃèÊöÁËËûÃÇÊÇʲô£¬ÒÔ¼°ÈçºÎʹÓÃËüÃÇ¡£

Counting parameters£¨¼ÆÊý²ÎÊý£©

¾ÍÏñÄãÔÚÉÏÒ»½Ú¿´µ½µÄ£¬Ëüͨ³£ÊÇÒ»¸öºÃÖ÷Ò⣬ÔÚÄãʹÓÃÃüÁîÐвÎÊý֮ǰÏÈÑéÖ¤Ò»ÏÂËüÃÇ¡£¶ÔÓÚʹÓöà¸öÃüÁîÐвÎÊýµÄ½Å±¾£¬ÕâÊÇ·¦Î¶µÄ¡£ Äã¿ÉÒÔÖ»¼ÆËãÃüÁîÐÐÉÏÊäÈëµÄ²ÎÊý£¬¶ø²»ÊDzâÊÔÿ¸ö²ÎÊý¡£bash shellΪ´ËÌṩÁËÒ»¸öÌØÊâµÄ±äÁ¿¡£

$#±äÁ¿°üÀ¨ÃüÁîÐвÎÊýµÄÊýÁ¿µ±½Å±¾ÔËÐеÄʱºò¡£Ôڽű¾ÖеÄÈκεط½£¬Äã¶¼¿ÉÒÔʹÓÃÕâ¸öÌØÊâµÄ±äÁ¿£¬¾ÍÏñÒ»¸öÆÕͨµÄ±äÁ¿£º

$ cat test8 #!/bin/bash

# getting the number of parameters echo There were $# parameters supplied. $ ./test8

There were 0 parameters supplied. $ ./test8 1 2 3 4 5

There were 5 parameters supplied. $ ./test8 1 2 3 4 5 6 7 8 9 10 There were 10 parameters supplied. $ ./test8 \

There were 1 parameters supplied. $

ÏÖÔÚ£¬ÄãÓÐÄÜÁ¦ÔÚ³¢ÊÔʹÓÃËüÃÇ֮ǰ²âÊÔ²ÎÊýµÄÊýÄ¿£º

$ cat test9

#!/bin/bash

# testing parameters if [ $# -ne 2 ] then

echo Usage: test9 a b else

total=$[ $1 + $2 ] echo The total is $total fi $ ./test9 Usage: test9 a b $ ./test9 10 Usage: test9 a b $ ./test9 10 15 The total is 25 $ ./test9 10 15 20 Usage: test9 a b $

If-thenÓï¾äʹÓòâÊÔÃüÁîÀ´Ö´ÐÐÒ»¸öÃüÁîÐÐÌṩµÄ²ÎÊý¸öÊýµÄ²âÊÔ¡£Èç¹ûÕýÈ·µÄ²ÎÊýÊý×Ö²»´æÔÚ£¬Äã¿ÉÒÔÏÔʾ´íÎóÐÅÏ¢£¬¹ØÓÚÕýȷʹÓýű¾µÄ¡£

Õâ¸ö±äÁ¿»¹ÌṩÁËÒ»¸öºÜ¿áµÄ·½Ê½À´×¥È¡ÃüÁîÐÐÉϵÄ×îºóÒ»¸ö²ÎÊý

¶ø²»ÓÃÖªµÀÒ»¹²ÓжàÉÙ²ÎÊý±»Ê¹Óá£È»¶ø£¬ÄãÐèҪʹÓÃÒ»¸öС°ÑÏ·À´´ïµ½Õâ¸öÄ¿µÄ¡£

Èç¹ûÄã˼¿¼ÁËÕâ¸öÎÊÌ⣬Äã¿ÉÄÜ»áÈÏΪ¼ÈÈ»$#°üº¬²ÎÊýµÄÖµ£¬ÄÇô±äÁ¿$ { $ # }½«ÊÇ×îºóÒ»¸öÃüÁîÐвÎÊý±äÁ¿¡£³¢ÊÔһϣ¬¿´¿´»á·¢Éúʲô£º

$ cat badtest1 #!/bin/bash

# testing grabbing last parameter echo The last parameter was ${$#} $ ./badtest1 10

The last parameter was 15354 $

ÍÛ£¬ÕâÀï·¢ÉúÁËʲôÊ£¿ºÜÏÔÈ»£¬·¢ÉúÁËһЩ´íÎó¡£Ô­À´£¬Äã²»ÄÜ ÔÚÀ¨ºÅÄÚʹÓÃÃÀÔª·ûºÅ¡£Ïà·´£¬Äã±ØÐëÓÐÒ»¸ö·ûºÅÀ´È¡´úÃÀÔª·ûºÅ ¡£ÕâºÜÆæ¹Ö£¬µ«ÓÐÓãº

$ cat test10 #!/bin/bash

# grabbing the last parameter params=$#

echo The last parameter is $params echo The last paramerer is ${!#} $ ./test10 1 2 3 4 5