Sophie

Sophie

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

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

#!/bin/bash
# ¿À·¡µÈ ½Ã½ºÅÛ¿¡¼­´Â #!/bin/bash2 ¶ó°í ¹Ù²ã¾ß µÉÁöµµ ¸ð¸¨´Ï´Ù.
#
# ÀÌ Bash 2.x ¿ë ¹«ÀÛÀ§ ºñ¹Ð¹øÈ£ »ý¼º±â´Â Antek Sawicki <tenox@tenox.tc>
# ÀÇ °ü´ëÇÑ Çã¶ôÇÏ¿¡ ½Æ½À´Ï´Ù.
#
# ==> º» ¹®¼­ÀÇ ÀúÀÚ°¡ Ãß°¡ÇÑ ÁÖ¼® ==>


MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
LENGTH="8"
# ==> ´õ ±ä ºñ¹Ð¹øÈ£¸¦ ¿øÇÑ´Ù¸é 'LENGTH'¸¦ ´Ã¸®¼¼¿ä.


while [ "${n:=1}" -le "$LENGTH" ]
# ==> := °¡ "±âº»°ª ġȯ"(default substitution) ¿¬»êÀÚ¿´´ø°Å ±â¾ï³ª½ÃÁÒ?
# ==> ±×·¡¼­ ¸¸¾à¿¡ 'n'ÀÌ ÃʱâÈ­ µÇÁö ¾Ê¾Ò´Ù¸é 1·Î ¼¼Æ®µË´Ï´Ù.
do
	PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
	# ==> ¾ÆÁÖ ÈǸ¢Çѵ¥ ¾à°£ Çò°¥¸®³×¿ä.

	# ==> Á¦ÀÏ ¾ÈÂʺÎÅÍ »ìÆì º¾½Ã´Ù...
	# ==> ${#MATRIX} ´Â MATRIX ¹è¿­ÀÇ ±æÀ̸¦ ¸®ÅÏÇÕ´Ï´Ù.

	# ==> $RANDOM%${#MATRIX} Àº 1 ºÎÅÍ MATRIXÀÇ ±æÀÌ - 1 ¿¡¼­ 
	# ==> ¹«ÀÛÀ§ ¼ýÀÚ¸¦ ¸®ÅÏÇÕ´Ï´Ù.

	# ==> ${MATRIX:$(($RANDOM%${#MATRIX})):1}
	# ==> Àº MATRIX ¿¡¼­ ±× ¹«ÀÛÀ§ ¼ýÀÚÀÇ À§Ä¡¿¡ ÀÖ´Â 
	# ==> ±æÀÌ 1 Â¥¸® ¹®ÀÚ¿­·Î È®ÀåµÈ °ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
	# ==> 3.3.1 ÀýÀÇ {var:pos:len} ¸Å°³º¯¼ö ġȯ°ú ÇØ´ç ¿¹Á¦µéÀ» Âü°íÇϼ¼¿ä.

	# ==> PASS=... ÀÌ °á°ú¸¦ ¹Ù·Î Àü PASS ¿¡ ºÙÀÔ´Ï´Ù(¿¬°á).

	# ==> PASS °¡ ¸¸µé¾îÁö´Â °úÁ¤À» Á» ´õ È®½ÇÇÏ°Ô º¸°í ½Í´Ù¸é, 
	# ==> ´ÙÀ½ ÁÙÀÇ ÁÖ¼®À» Ǫ¼¼¿ä.
	# ==>             echo "$PASS"
	# ==> ·çÇÁ¸¦ ÇÑ ¹ø µ¹¶§¸¶´Ù PASS °¡ ÇÑ ±ÛÀÚ¾¿ ¸¸µé¾î Áý´Ï´Ù.

	let n+=1
	# ==> ´ÙÀ½ ´Ü°è¸¦ À§ÇØ 'n'À» Áõ°¡.
done

echo "$PASS"      # ==> ÇÊ¿äÇÏ´Ù¸é ÆÄÀÏ·Î ÀçÁöÇâ.

exit 0