#!/bin/bash # 'getopts' ´Â ½ºÅ©¸³Æ®·Î ³Ñ¾î¿Â ¸í·É¾îÁÙ ÀÎÀÚ¸¦ ó¸®ÇØ ÁÝ´Ï´Ù. # ÀÎÀÚµéÀº "¿É¼Ç"(Ç÷¡±×)°ú ÇØ´ç ÀÎÀÚ·Î ÆĽ̵˴ϴÙ. # ÀÌ·¸°Ô ½ÇÇà½ÃÄÑ º¸¼¼¿ä. # 'scriptname -mn' # 'scriptname -oq qOption' (qOption Àº ¾Æ¹«·± ¹®ÀÚ¿ÀÌ¸é µË´Ï´Ù.) # 'scriptname -qXXX -r' # # 'scriptname -qr' - ¿øÇÏ´ø °á°ú°¡ ¾È ³ª¿À´Âµ¥, "r"ÀÌ "q" ¿É¼ÇÀÇ Ãß°¡ ÀÎÀڷΠ󸮵DZ⠶§¹®ÀÔ´Ï´Ù. # 'scriptname -q -r' - À§¿Í ¶È°°ÀÌ ¿øÄ¡ ¾Ê´Â °á°ú. # ¾î¶² ¿É¼Ç¿¡ Ãß°¡ ÀÎÀÚ("flag:")°¡ ÇÊ¿äÇÏ´Ù°í ¼³Á¤ÀÌ µÇ¸é # ¸í·É¾îÁÙ¿¡¼ Àڱ⠹ٷΠ´ÙÀ½¿¡ ³ª¿À´Â °ÍÀ» ¹«Á¶°Ç ÀÚ½ÅÀÇ ÀÎÀÚ·Î ¹Þ¾ÆµéÀÔ´Ï´Ù. NO_ARGS=0 OPTERROR=65 if [ $# -eq "$NO_ARGS" ] # ÀÎÀÚ ¾øÀÌ ºÒ·È±º¿ä. then echo "»ç¿ë¹ý: `basename $0` options (-mnopqrs)" exit $OPTERROR # ÀÎÀÚ°¡ ÁÖ¾îÁöÁö ¾Ê¾Ò´Ù¸é »ç¿ë¹ýÀ» ¾Ë·ÁÁÖ°í Á¾·á. fi # »ç¿ë¹ý: scriptname -options # ÁÖÀÇ: ´ë½¬(-)°¡ ÇÊ¿äÇÕ´Ï´Ù. while getopts ":mnopq:rs" Option do case $Option in m ) echo "1¹ø ½Ã³ª¸®¿À: option -m-";; n | o ) echo "2¹ø ½Ã³ª¸®¿À: option -$Option-";; p ) echo "3¹ø ½Ã³ª¸®¿À: option -p-";; q ) echo "4¹ø ½Ã³ª¸®¿À: option -q-, \"$OPTARG\"¸¦ Áà¼";; # 'q' ¿É¼ÇÀº Ãß°¡ ÀÎÀÚ°¡ ÀÖ¾î¾ß Çϴµ¥ ¾ø´Ù¸é µðÆúÆ®·Î 󸮵˴ϴÙ. r | s ) echo "5¹ø ½Ã³ª¸®¿À: option -$Option-"'';; * ) echo "±¸ÇöµÇÁö ¾ÊÀº ¿É¼ÇÀÌ ¼±ÅõƽÀ´Ï´Ù.";; # µðÆúÆ® esac done shift $(($OPTIND - 1)) # ÀÎÀÚ Æ÷ÀÎÅ͸¦ °¨¼Ò½ÃÄѼ ´ÙÀ½ ÀÎÀÚ¸¦ °¡¸£Å°°Ô ÇÕ´Ï´Ù. exit 0