¿©±â¿¡¼´Â for, while, untilÀ» »ç¿ëÇÑ ¼øÈ¯¹®¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú´Ù.
for¸¦ »ç¿ëÇÑ ¼øÈ¯¹®ÀÇ °æ¿ì ÀϹÝÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇÒ ¶§¿Í Á» ´Ù¸¥ Á¡ÀÌ ÀÖ´Ù. ¿¹ÄÁ´ë ¹®ÀÚ¿¿¡¼ÀÇ °¢ ´Ü¾î¸¦ Áö³ªÃİ¡¸ç ¹®ÀÚ¿ÀÌ ³¡³¯ ¶§ ±îÁö ·çÇÁ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
whileÀÇ Á¶°ÇÀÌ ÂüÀÎ µ¿¾È¿¡´Â °è¼Ó ·çÇÁ ¾ÈÀÇ ¸í·ÉÀÌ µ¿ÀÛÇÑ´Ù. ÇÏÁö¸¸ Á¶°ÇÀÌ °ÅÁþÀÎ °æ¿ì ·çÇÁ´Â ¹Ù·Î ÁßÁöµÇ°í ·çÇÁ ¹ÛÀÇ Äڵ带 ½ÇÇàÇÏ´Â °ÍÀÌ´Ù.
untilµµ µûÁö°í º¸¸é °°Àº ¸Æ¶ôÀ̱â´Â ÇÏÁö¸¸, ÀÌ °æ¿ì¿¡´Â Á¶°ÇÀÌ °ÅÁþÀÎ µ¿¾È ·çÇÁ°¡ µ¿ÀÛÇÑ´Ù´Â Á¡ÀÌ ´Ù¸£´Ù.
¹°·Ð »ç¿ëÇÏ´Â »ç¶÷ ÀÔÀå¿¡¼´Â whileÀ̳ª untilÀ̳ª °æ¿ì¿¡ µû¶ó ÆíÇÏ°Ô ½á ÁÖ¸é µÇ´Â °ÍÀÌ´Ù. ^^
#!/bin/bash for i in $( ls ); do echo item: $i done |
µÎ ¹øÂ° ÁÙ¿¡¼ ƯÀÌÇÑ º¯¼ö¸¦ Çϳª º¼ ¼ö ÀÖ´Ù. À̰ÍÀº lsÀÇ ½ÇÇà °á°ú¸¦ Åë°·Î º¯¼ö·Î ¹Þ°í ÀÖ´Ù. ¿©±â¿¡¼ $i´Â ls ÀÇ ½ÇÇà °á°ú¸¦ ¼ø¼´ë·Î ÇÑ ´Ü¾î¾¿ ¹Þ´Â´Ù.
¼¼ ¹øÂ° ÁÙÀº ·çÇÁ°¡ ÁøÇàµÇ´Â µ¿¾È ½ÇÇàÇÒ ³»¿ëÀÌ´Ù. ¿©±â¿¡¼´Â ÇÑ Á٠¥¸®·Î µÇ¾î ÀÖÁö¸¸ Çʿ信 µû¶ó ¸î ÁÙÀ̰í Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ¾ó¸¶µçÁö Ãß°¡ÇÑ ´ÙÀ½, ¸¶Áö¸· ³»¿ëÀÇ ´ÙÀ½ ÁÙ¿¡ doneÀ» ÀÔ·ÂÇÏ¿© ·çÇÁ°¡ ³¡À̶ó°í ¾Ë·Á ÁÖ¸é µÈ´Ù.
¸¶Áö¸· ÁÙÀÇ 'done'Àº, $i°¡ Áö±Ý ¹Þ¾Æ¼ »ç¿ëÇÑ º¯¼ö´Â Æó±âÇÏ°í »õ·Î¿î º¯¼ö¸¦ ¹Þ¾Æ¾ß ÇÑ´Ù´Â ¶æÀÌ´Ù. done ÀÌÀü¿¡ ÀÖ´ø ³»¿ëÀº ½ÇÇàµÇ¾ú°í, ÀÌÁ¦ ´Ù½Ã »õ º¯¼ö¸¦ ³Ö¾î °°Àº ³»¿ëÀ» ÁøÇàÇÒ °ÍÀÌ´Ù.
ÀÌ ½ºÅ©¸³Æ®´Â Á¤¸» ´Ü¼øÇϱâ ¦ÀÌ ¾øÁö¸¸, ·çÇÁ¿¡ ´ëÇØ ÇÊ¿äÇÑ ³»¿ëÀº ´Ù ±¸»öÀÌ °®ÃçÁ® ÀÖ´Ù. ÀÌ ³»¿ë¸¸ Á¦´ë·Î ÀÌÇØÇØµµ ±âº»ÀûÀ¸·Î ·çÇÁ¸¦ »ç¿ëÇÏ´Â µ¥¿¡´Â ¾î·Á¿òÀÌ ¾øÀ» °ÍÀÌ´Ù.
ÀÌ·± ¹æ½ÄÀ¸·Î »ç¿ëÇÏ´Â forµµ Çѹø »ý°¢ÇØ º¸ÀÚ. À̰ÍÀº C³ª Perl¿¡¼ »ç¿ëÇÏ´Â ¹æ½Ä°ú ºñ½ÁÇÑ ±¸¼®ÀÌ ¸¹´Ù.
#!/bin/bash for i in `seq 1 10`; do echo $i done |
#!/bin/bash COUNTER=0 while [ $COUNTER -lt 10 ]; do echo The counter is $COUNTER let COUNTER=COUNTER+1 done |
ÀÌ ½ºÅ©¸³Æ®´Â C³ª ÆÄ½ºÄ®, Perl µîÀÇ À¯¸íÇÑ ¾ð¾î¿¡¼ »ç¿ëÇÏ´Â ¹æ½ÄÀ» Èä³»³»°í ÀÖ´Ù.
#!/bin/bash COUNTER=20 until [ $COUNTER -lt 10 ]; do echo COUNTER $COUNTER let COUNTER-=1 done |