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