Sophie

Sophie

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

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

#!/bin/bash
# seeding-random.sh: RANDOM º¯¼ö¿¡ seed Àû¿ë.

MAXCOUNT=25       # ¹ß»ý½Ãų ¼ýÀÚ °¹¼ö.

random_numbers ()
{
count=0
while [ "$count" -lt "$MAXCOUNT" ]
do
  number=$RANDOM
  echo -n "$number "
  let "count += 1"
done  
}

echo; echo

RANDOM=1          # ·£´ý ³Ñ¹ö ¹ß»ý±â¿¡ RANDOM seed ¼¼ÆÃ.
random_numbers

echo; echo

RANDOM=1          # ¶È°°Àº seed »ç¿ë....
random_numbers    # ... ¿ÏÀüÈ÷ ¶È°°Àº ¼ö¿­ÀÌ ¹ß»ý.

echo; echo

RANDOM=2          # ´Ù¸¥ seed ·Î Àç½Ãµµ...
random_numbers    # ´Ù¸¥ ¼ö¿­ ¹ß»ý.

echo; echo

# RANDOM=$$  ¶ó°í ÇÏ´Â °ÍÀº RANDOM ¿¡ ½ºÅ©¸³Æ®ÀÇ ÇÁ·Î¼¼½º ID·Î seed¸¦ ¼¼ÆÃÇÏ´Â °ÍÀÔ´Ï´Ù.
# 'time' À̳ª 'date'·Î ÇÒ ¼öµµ Àְڳ׿ä.

# ´õ ¸ÚÁö°Ô ÇØ º¸ÁÒ.
SEED=$(head -1 /dev/urandom | od -N 1 | awk '{ print $2 }')
# /dev/urandom(½Ã½ºÅÛ¿¡¼­ Á¦°øÇÏ´Â Àǻ糭¼ö "µð¹ÙÀ̽º")¿¡¼­ ¾òÀº Àǻ糭¼ö
# ±× ´ÙÀ½ "od"¸¦ ÀÌ¿ëÇؼ­ Ãâ·Â °¡´ÉÇÑ(8Áø¼ö) ¼ýÀÚ·Î ÀÌ·ç¾îÁø ÁÙ·Î º¯È¯.
# ¸¶Áö¸·À¸·Î "awk"¸¦ ½á¼­ SEED ¿¡¼­ ¾µ ÇÑ °³ÀÇ ¼ýÀÚ¸¦ »Ì¾Æ³¿.
RANDOM=$SEED
random_numbers

echo; echo

exit 0