bash shell¿¡¼­ ½ÇÇàÀÎÀÚ Ã³¸®Çϱâ
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

½ÇÇàÀÎÀÚ ´Ù·ç±â

C¾ð¾î´Â ÇÁ·Î±×·¥ ½ÇÇàÀÎÀÚ¸¦ ó¸®Çϱâ À§Çؼ­ getopt¿Í getopt_long°°Àº ÇÔ¼ö¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ ÇÔ¼öµé·Î ºñ±³Àû ½±°Ô ½ÇÇàÀÎÀÚ¸¦ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

shell¿¡¼­´Â ¾î¶³±î¿ä. ¾Æ¸¶ shell¿¡µµ ÀÌ·¯ÇÑ ½ÇÇàÀÎÀÚ¸¦ ó¸®ÇÏ´Â ¹æ¹ýÀÌ ÀÖÀ» °Ì´Ï´Ù¸¸, Àú´Â ¿À·§µ¿¾È ´Ü¼øÇÏ°Ô Ã³¸®ÇؿԽÀ´Ï´Ù. ÇÁ·Î±×·¥À» ÀÏÁ¤½Ã°£ °£°ÝÀ¸·Î ½ÇÇàÇÏ°í ±× °á°ú¸¦ Ç¥ÁØ Ãâ·ÂÇÏ´Â shell ÇÁ·Î±×·¥À» °³¹ßÇÑ´Ù°í °¡Á¤ÇØ º¸°Ú½À´Ï´Ù. ÀÌ ÇÁ·Î±×·¥ÀÇ À̸§Àº watch.sh·Î ÇϰڽÀ´Ï´Ù. ÀÌ ÇÁ·Î±×·¥Àº ½ÇÇàÇÒ ¸í·É°ú ½Ã°£ °£°Ý'À» ½ÇÇàÀÎÀÚ·Î ¹ÞÀ» °Ì´Ï´Ù.
#!/bin/bash 
 
# ù¹øÂ° ½ÇÇàÀÎÀÚ´Â ½ÇÇà ¸í·É 
# µÎ¹øÂ° ½ÇÇàÀÎÀÚ´Â ½Ã°£ °£°Ý  
command=$1 
interval=$2 
 
# ·çÇÁ¸¦ µ¹¸é¼­ interval °£°ÝÀ¸·Î ¸í·ÉÀ» ½ÇÇàÇÑ´Ù. 
while [ 1 ] 
do 
    $command 
    sleep $interval  
done 
 

ÀÌ ÇÁ·Î±×·¥À» »ç¿ëÇÏ´Â »ç¶÷Àº ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀÎÀÚ¿Í ¼ø¼­¸¦ ±â¾ïÇϰí ÀÖ¾î¾ßÇÕ´Ï´Ù. ±×´Ú ¸¾¿¡ µéÁö ¾Ê½À´Ï´Ù. ÇÁ·Î±×·¥ »ç¿ë¹æ¹ýÀ» ÁÖ¼®À¸·Î Àû¾îÁÖ¸é Á» ´õ ³´±äÇϰڳ׿ä.
# ù¹øÂ° ÀÎÀÚ´Â ½ÇÇà ¸í·ÉÀÔ´Ï´Ù. 
# µÎ¹øÂ° ÀÎÀÚ´Â ½Ã°£ °£°ÝÀÔ´Ï´Ù. 
 

ÇÏÁö¸¸ ¿©ÀüÈ÷ ¸¾¿¡ µéÁö ¾Ê½À´Ï´Ù. ±×·¡¼­ ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀÎÀÚÀÇ °¹¼ö¸¦ È®ÀÎÇØ¼­, µµ¿ò¸»À» Ãâ·ÂÇϵµ·Ï ÇÁ·Î±×·¥À» °³¼±Çß½À´Ï´Ù.
#!/bin/bash 
 
help() 
{ 
    echo "Usage: $0 [command] [interval]" 
} 
 
 
if [ $# -ne 2 ] 
then 
    help 
    exit 0 
fi 
 
command=$1 
interval=$2 
 
while [ 1 ] 
do 
    cdate=`date` 
    echo "Command : $command $cdate" 
    $command 
    sleep $interval 
done 
 
ÈξÀ ³ª¾ÆÁ³Áö¸¸ ¿ª½Ã ±ò²ûÇÏÁø ¾Ê½À´Ï´Ù.

getopts·Î ½ÇÇàÀÎÀÚ ´Ù·ç±â

bash shellÀº getopts¸¦ Á¦°øÇÕ´Ï´Ù. ¾ö¹ÐÈ÷ ¸»Çϸé bash shell¿¡¼­ Á¦°øÇÑ´Ù°í ÇÒ ¼ö´Â ¾ø°Ú³×¿ä. shellÀÇ ³»Àå ¸í·É¾î´Â ¾Æ´Ï´Ï±î¿ä. ¾Æ¹¸µç..

#!/bin/bash 
 
help() 
{ 
    echo "Usae : $0 -c [command] -i [interval]" 
} 
 
command="" 
interval=0 
 
# -c¿Í -i¸¦ ó¸®ÇÕ´Ï´Ù.  
# ¿É¼ÇÀ̸§ µÚ¿¡ :ÀÌ ºÙÀº °ÍÀº °ªÀ» ÇÊ¿ä·Î ÇÔÀ» ÀǹÌÇÕ´Ï´Ù. 
while getopts c:i: opt 
do 
    case $opt in 
        c) 
            command=$OPTARG 
            ;; 
        i) 
            interval=$OPTARG 
            ;; 
        # -c -i ÀÌ¿ÜÀÇ ¿É¼ÇÀÌ ¿À¸é µµ¿ò¸»À» Ãâ·ÂÇϰí Á¾·áÇÕ´Ï´Ù. 
        *)   
            help 
            exit 0 
            ;; 
    esac 
done 
 
# ¸í·É ¹®ÀÚ¿­ÀÇ ±æÀ̰¡ 0À̰ųª intervalÀÌ 0À̸é 
# µµ¿ò¸»À» Ãâ·ÂÇϰí Á¾·áÇÕ´Ï´Ù.  
if [ -z $command ] || [ $interval -eq 0 ] 
then 
    help 
    exit 0 
fi 
 
 
while [ 1 ] 
do 
    $command 
    sleep $interval 
done 
 

Âü°í

  1. bash shell ÇÁ·Î±×·¡¹Ö howto

ÅÂ±× :

category_Tip
category__220
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.