#!/bin/bash # ºÒ¿ÏÀüÇÑ ¹öºí Á¤·Ä # ¹öºí Á¤·Ä ¾Ë°í¸®ÁòÀ» ¸Ó¸®¼Ó¿¡ ¶°¿Ã·Á º¸¼¼¿ä. ÀÌ ½ºÅ©¸³Æ®¿¡¼´Â... # Á¤·ÄÇÒ ¹è¿À» ¸Å¹ø Ž»öÇÒ ¶§ ¸¶´Ù ÀÎÁ¢ÇÑ µÎ ¿ø¼Ò¸¦ ºñ±³Çؼ # ¼ø¼°¡ ´Ù¸£¸é µÎ °³¸¦ ¹Ù²ß´Ï´Ù. # ù¹ø° Ž»ö¿¡¼´Â "°¡Àå Å«" ¿ø¼Ò°¡ Á¦ÀÏ ³¡À¸·Î °©´Ï´Ù. # µÎ¹ø° Ž»ö¿¡¼´Â µÎ¹ø°·Î "°¡Àå Å«" ¿ø¼Ò°¡ ³¡¿¡¼ µÎ ¹ø°·Î °©´Ï´Ù. # ÀÌ·¸°Ô ÇÏ¸é °¢ Ž»ö ´Ü°è´Â ¹è¿º¸´Ù ÀÛÀº ¼ö ¸¸ÅÀ» °Ë»öÇÏ°Ô µÇ°í, # µÚ·Î °¥¼ö·Ï Ž»ö ¼Óµµ°¡ »¡¶óÁö´Â °ÍÀ» ´À³¥ ¼ö ÀÖÀ» °Ì´Ï´Ù. exchange() { # ¹è¿ÀÇ µÎ ¸â¹ö¸¦ ¹Ù²ãÄ¡±â ÇÕ´Ï´Ù. local temp=${Countries[$1]} # ¹Ù²ãÄ¡±âÇÒ µÎ º¯¼ö¸¦ À§ÇÑ Àӽà ÀúÀå¼Ò Countries[$1]=${Countries[$2]} Countries[$2]=$temp return } declare -a Countries # º¯¼ö Á¤ÀÇ, ¹Ø¿¡¼ ÃʱâÈ µÇ±â ¶§¹®¿¡ ¿©±â¼´Â ¾È ½áµµ µË´Ï´Ù. Countries=(Netherlands Ukraine Zair Turkey Russia Yemen Syria Brazil Argentina Nicaragua Japan Mexico Venezuela Greece England Israel Peru Canada Oman Denmark Wales France Kashmir Qatar Liechtenstein Hungary) # X·Î ½ÃÀÛÇÏ´Â ³ª¶ó À̸§Àº »ý°¢ÀÌ ¾È ³ª³×¿ä, ÂÁ... clear # ½ÃÀÛÇϱâ Àü¿¡ ȸéÀ» ±ú²ýÀÌ Áö¿ì°í... echo "0: ${Countries[*]}" # 0¹ø° Ž»öÀÇ ¹è¿ Àüü¸¦ º¸¿©ÁÜ. number_of_elements=${#Countries[@]} let "comparisons = $number_of_elements - 1" count=1 # Ž»ö Ƚ¼ö. while [ $comparisons -gt 0 ] # ¹Ù±ùÂÊ ·çÇÁÀÇ ½ÃÀÛ do index=0 # °¢ Ž»ö ´Ü°è¸¶´Ù ¹è¿ÀÇ ½ÃÀÛ À妽º¸¦ 0À¸·Î ÀâÀ½ while [ $index -lt $comparisons ] # ¾ÈÂÊ ·çÇÁÀÇ ½ÃÀÛ do if [ ${Countries[$index]} \> ${Countries[`expr $index + 1`]} ] # ¼ø¼°¡ Ʋ¸®¸é... # \> °¡ ¾Æ½ºÅ° ºñ±³ ¿¬»êÀÚ¿´´ø°Å ±â¾ï³ª½ÃÁÒ? then exchange $index `expr $index + 1` # ¹Ù²ß½Ã´Ù. fi let "index += 1" done # ¾ÈÂÊ ·çÇÁÀÇ ³¡ let "comparisons -= 1" # "°¡Àå Å«" ¿ø¼Ò°¡ Á¦ÀÏ ³¡À¸·Î °¬±â ¶§¹®¿¡ ºñ±³È½¼ö¸¦ Çϳª ÁÙÀÏ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. echo echo "$count: ${Countries[@]}" # °¢ Ž»ö ´Ü°è°¡ ³¡³ª¸é °á°ú¸¦ º¸¿©ÁÝ´Ï´Ù. echo let "count += 1" # Ž»ö Ƚ¼ö¸¦ ´Ã¸³´Ï´Ù. done # ¹Ù±ùÂÊ ·çÇÁÀÇ ³¡ # ³¡! exit 0