7. for, while, untilÀ» »ç¿ëÇÏ´Â ¼øÈ¯¹®

¿©±â¿¡¼­´Â for, while, untilÀ» »ç¿ëÇÑ ¼øÈ¯¹®¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú´Ù.

for¸¦ »ç¿ëÇÑ ¼øÈ¯¹®ÀÇ °æ¿ì ÀϹÝÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇÒ ¶§¿Í Á» ´Ù¸¥ Á¡ÀÌ ÀÖ´Ù. ¿¹ÄÁ´ë ¹®ÀÚ¿­¿¡¼­ÀÇ °¢ ´Ü¾î¸¦ Áö³ªÃİ¡¸ç ¹®ÀÚ¿­ÀÌ ³¡³¯ ¶§ ±îÁö ·çÇÁ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

whileÀÇ Á¶°ÇÀÌ ÂüÀÎ µ¿¾È¿¡´Â °è¼Ó ·çÇÁ ¾ÈÀÇ ¸í·ÉÀÌ µ¿ÀÛÇÑ´Ù. ÇÏÁö¸¸ Á¶°ÇÀÌ °ÅÁþÀÎ °æ¿ì ·çÇÁ´Â ¹Ù·Î ÁßÁöµÇ°í ·çÇÁ ¹ÛÀÇ Äڵ带 ½ÇÇàÇÏ´Â °ÍÀÌ´Ù.

untilµµ µûÁö°í º¸¸é °°Àº ¸Æ¶ôÀ̱â´Â ÇÏÁö¸¸, ÀÌ °æ¿ì¿¡´Â Á¶°ÇÀÌ °ÅÁþÀÎ µ¿¾È ·çÇÁ°¡ µ¿ÀÛÇÑ´Ù´Â Á¡ÀÌ ´Ù¸£´Ù.

¹°·Ð »ç¿ëÇÏ´Â »ç¶÷ ÀÔÀå¿¡¼­´Â whileÀ̳ª untilÀ̳ª °æ¿ì¿¡ µû¶ó ÆíÇÏ°Ô ½á ÁÖ¸é µÇ´Â °ÍÀÌ´Ù. ^^

7.1. ¿¹Á¦ : for

 
#!/bin/bash 
for i in $( ls ); do 
echo item: $i 
done 

µÎ ¹øÂ° ÁÙ¿¡¼­ ƯÀÌÇÑ º¯¼ö¸¦ Çϳª º¼ ¼ö ÀÖ´Ù. À̰ÍÀº lsÀÇ ½ÇÇà °á°ú¸¦ Åë°·Î º¯¼ö·Î ¹Þ°í ÀÖ´Ù. ¿©±â¿¡¼­ $i´Â ls ÀÇ ½ÇÇà °á°ú¸¦ ¼ø¼­´ë·Î ÇÑ ´Ü¾î¾¿ ¹Þ´Â´Ù.

¼¼ ¹øÂ° ÁÙÀº ·çÇÁ°¡ ÁøÇàµÇ´Â µ¿¾È ½ÇÇàÇÒ ³»¿ëÀÌ´Ù. ¿©±â¿¡¼­´Â ÇÑ Á٠¥¸®·Î µÇ¾î ÀÖÁö¸¸ Çʿ信 µû¶ó ¸î ÁÙÀ̰í Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ¾ó¸¶µçÁö Ãß°¡ÇÑ ´ÙÀ½, ¸¶Áö¸· ³»¿ëÀÇ ´ÙÀ½ ÁÙ¿¡ doneÀ» ÀÔ·ÂÇÏ¿© ·çÇÁ°¡ ³¡À̶ó°í ¾Ë·Á ÁÖ¸é µÈ´Ù.

¸¶Áö¸· ÁÙÀÇ 'done'Àº, $i°¡ Áö±Ý ¹Þ¾Æ¼­ »ç¿ëÇÑ º¯¼ö´Â Æó±âÇÏ°í »õ·Î¿î º¯¼ö¸¦ ¹Þ¾Æ¾ß ÇÑ´Ù´Â ¶æÀÌ´Ù. done ÀÌÀü¿¡ ÀÖ´ø ³»¿ëÀº ½ÇÇàµÇ¾ú°í, ÀÌÁ¦ ´Ù½Ã »õ º¯¼ö¸¦ ³Ö¾î °°Àº ³»¿ëÀ» ÁøÇàÇÒ °ÍÀÌ´Ù.

ÀÌ ½ºÅ©¸³Æ®´Â Á¤¸» ´Ü¼øÇϱâ ¦ÀÌ ¾øÁö¸¸, ·çÇÁ¿¡ ´ëÇØ ÇÊ¿äÇÑ ³»¿ëÀº ´Ù ±¸»öÀÌ °®ÃçÁ® ÀÖ´Ù. ÀÌ ³»¿ë¸¸ Á¦´ë·Î ÀÌÇØÇØµµ ±âº»ÀûÀ¸·Î ·çÇÁ¸¦ »ç¿ëÇÏ´Â µ¥¿¡´Â ¾î·Á¿òÀÌ ¾øÀ» °ÍÀÌ´Ù.

7.2. ¿¹Á¦ : C¾ð¾î ¹æ½ÄÀ¸·Î »ç¿ëÇÏ´Â for

ÀÌ·± ¹æ½ÄÀ¸·Î »ç¿ëÇÏ´Â forµµ Çѹø »ý°¢ÇØ º¸ÀÚ. À̰ÍÀº C³ª Perl¿¡¼­ »ç¿ëÇÏ´Â ¹æ½Ä°ú ºñ½ÁÇÑ ±¸¼®ÀÌ ¸¹´Ù.
 
#!/bin/bash 
for i in `seq 1 10`; 
do 
echo $i 
done 

7.3. ¿¹Á¦ : while

 
#!/bin/bash 
COUNTER=0 
while [ $COUNTER -lt 10 ]; do 
echo The counter is $COUNTER 
let COUNTER=COUNTER+1 
done 

ÀÌ ½ºÅ©¸³Æ®´Â C³ª ÆÄ½ºÄ®, Perl µîÀÇ À¯¸íÇÑ ¾ð¾î¿¡¼­ »ç¿ëÇÏ´Â ¹æ½ÄÀ» Èä³»³»°í ÀÖ´Ù.

7.4. ¿¹Á¦.... Çϳª ´õ!

 
#!/bin/bash 
COUNTER=20 
until [ $COUNTER -lt 10 ]; do 
echo COUNTER $COUNTER 
let COUNTER-=1 
done