Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > b611ea73723a8287cce23d3124a6eeea > files > 139

howto-sgml-ko-2006-5mdv2010.0.noarch.rpm

#!/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