·¢²©ÎÄ
×ÓÏè

aneye.blog.chinaunix.net

   
¸öÈË×ÊÁÏ
  • ²©¿Í·ÃÎÊ£º57389
  • ²©ÎÄÊýÁ¿£º49
  • ²©¿Í»ý·Ö£º1905
  • ²©¿ÍµÈ¼¶£ºÉÏξ
  • ×¢²áʱ¼ä£º2006-06-30 13:48:11
¶©ÔÄÎҵIJ©¿Í
  • ¶©ÔÄ
  • ¶©Ôĵ½Ïʹû
  • ¶©Ôĵ½×¥Ïº
  • ¶©Ôĵ½Google
×ÖÌå´óС£º´ó ÖРС²©ÎÄ
±êÇ©getopt  ·ÖÀࣺ linuxÏà¹Ø


±àдһ¸öshell½Å±¾£¬×öһЩÊ£»¸Ä½øÕâ¸ö½Å±¾£¬¸üºÃ×öÕâ¼þÊ£»ÔٸĽøÕâ¸ö½Å±¾£¬°ï×Ô¼º×öЩÆäËûµÄÊÂÇ飻ÔٸĽøÕâ¸ö½Å±¾°ïÖúÆäËûÈË×öһЩÊÂ......

¼òµ¥µÄ½Å±¾´¦Àí£¬Ò»°ãʹÓñäÁ¿$0 $1 $2 ...¾Í¿ÉÒÔÒÀ´Î»ñµÃÈ«²¿²ÎÊý£¬»¹¿ÉÒÔͨ¹ý$#»ñµÃÕâ¸ö½Å±¾Ò»¹²ÓжàÉÙ¸ö²ÎÊý¡£Èç¹ûÄãÐèÒª´¦ÀíµÄÇé¿ö£¨»òÕß·ÖÖ§£©¸ü¶àµÄʱºò£¬Õâ¸ö·½·¨¾Í²»´ÕЧÁË£¬Õâʱºò£¬¾Í¿ÉÒÔ¿¼ÂÇʹÓÃgetoptsÁË£¨man getopts£©¡£

ÕâÀォͨ¹ýÒ»¸öʾÀýÀ´½éÉÜgetoptsµÄÓ÷¨¡£

ÏÂÃæµÄ´úÂ룬¿ÉÒÔͨ¹ý"./sample -d 5"µÄ·½Ê½»ñÈ¡²ÎÊý£º

vi sample.sh 

#!/bin/sh 

day=7 

#default value 

while getopts ":d:" opt;

  do case $opt in 

  d) 

     day=$OPTARG 

     #get the value ;;

  ?) 

     echo "How to use: $0 [-d DAY]" >&2 

     exit 1 ;;

  :) 

     echo "Option -$OPTARG requires an argument." >&2 

     exit 1 ;;

  esac

done 

echo $day 

ÉÏÃæÀý×ÓÖÐÐèÒª½âÊ͵ÄÊÇÏÂÃæµÄ²¿·Ö£º

while getopts ":d:" opt; do

ÕâÀµÚÒ»¸öðºÅ±íʾºöÂÔ´íÎó£¨ÀýÈç³öÏÖÁ˲»ÈÏʶµÄ²ÎÊý£©£¬²¢Ôڽű¾ÖÐͨ¹ý::)À´´¦ÀíÕâÑùµÄ´íÎó£»×ÖĸdÔò±íʾ£¬½ÓÊܲÎÊý-d£»dºóÃæµÄðºÅ±íʾ²ÎÊýd½ÓÊÕÖµ£¬¼´¡°-d 7¡±ÕâÑùµÄÐÎʽ£»£¨ÕâÀïopt±äÁ¿£¬¿ÉÒÔÔÚwhileÑ­»·ÖÐÒýÓõ±Ç°ÕÒµ½µÄ²ÎÊý£¬ÊÔÊÔÊä³ö$optÊÔÊÔ£©

Èç¹ûÊÇÒªÓкܶà²ÎÊý£¬ÄÇôд·¨¿ÉÄÜÊÇ£º

while getopts ":ixarm:uneh" opt; do

²©¿ÍÍÆ¼öÎÄÕÂ
Ç×£¬Äú»¹Ã»ÓеǼ,Çë[µÇ¼]»ò[×¢²á]ºóÔÙ½øÐÐÆÀÂÛ