34.6. ±«»óÇÑ °Í(Oddities)

°ú¿¬ ½ºÅ©¸³Æ®°¡ ÀÚ½ÅÀ» Àç±ÍÀûÀ¸·Î ºÎ¸¦ ¼ö ÀÖÀ»±î¿ä?

¿¹ 34-6. ÀÚ½ÅÀ» Àç±ÍÀûÀ¸·Î ºÎ¸£´Â ½ºÅ©¸³Æ®

#!/bin/bash
# recurse.sh

#  ½ºÅ©¸³Æ®°¡ ÀÚ½ÅÀ» Àç±ÍÀûÀ¸·Î ºÎ¸¦ ¼ö ÀÖÀ»±î¿ä?
#  ºÎ¸¦ ¼ö ÀÖÁö¸¸, "°³³ä Áõ¸í"(proof of concept) µûÀ§ÀÇ ¾²ÀÓ»õ°¡ ¾Æ´Ï¶ó¸é,
#+ ÀüÇô ½Ç¿ëÀûÀÌÁö ¾Ê½À´Ï´Ù.

RANGE=10
MAXVAL=9

i=$RANDOM
let "i %= $RANGE"  # 0 ¿¡¼­ $MAXVAL »çÀÌÀÇ ·£´ýÇÑ ¼ýÀÚ ¸¸µé±â.

if [ "$i" -lt "$MAXVAL" ]
then
  echo "i = $i"
  ./$0             #   ½ºÅ©¸³Æ®´Â ÀÚ±â ÀÚ½ÅÀÇ »õ ÀνºÅϽº¸¦ 
                   #+  Àç±ÍÀûÀ¸·Î ¸¸µé¾î ³À´Ï´Ù.
                   #   ¸¸µé¾î³» $i °¡ $MAXVAL °ú °°À» ¶§±îÁö 
                   #+  °¢ ÀÚ½Ä ½ºÅ©¸³Æ®µµ ¶È°°Àº µ¿ÀÛÀ» ÇÕ´Ï´Ù.

#  "if/then" ´ë½Å "while" ·çÇÁ¸¦ ¾²¸é ¹®Á¦°¡ »ý±é´Ï´Ù.
#  µ¶ÀÚµéÀ» À§ÇÑ ¿¬½À¹®Á¦: ¿Ö ¹®Á¦°¡ »ý±æ±î¿ä?

exit 0

°æ°í

Àç±Í°¡ ³Ê¹« ¸¹ÀÌ ÀϾ¸é ½ºÅ©¸³Æ®ÀÇ ½ºÅà ¿µ¿ªÀ» ´Ù ½á¹ö¸®±â ¶§¹®¿¡ ¼¼±×ÆúÆ®°¡ ³³´Ï´Ù.