#!/bin/bash # rnd.sh: 10 ÀÚ¸® ·£´ýÇÑ ¼ýÀÚ Ãâ·Â # Script by Stephane Chazelas. head -c4 /dev/urandom | od -N4 -tu4 | sed -ne '1s/.* //p' # =================================================================== # # ºÐ¼® # ---- # head: # -c4 ¿É¼ÇÀº ù ¹ø° 4 ¹ÙÀÌÆ®¸¸ ¹Þ¾Æ µéÀÔ´Ï´Ù. # od: # -N4 ¿É¼ÇÀº Ãâ·ÂÀ» 4 ¹ÙÀÌÆ®·Î Á¦ÇÑÇØ ÁÝ´Ï´Ù. # -tu4 ¿É¼ÇÀº Ãâ·ÂÀ» unsigned 10Áø Æ÷¸ËÀ¸·Î ÇØÁÝ´Ï´Ù. # sed: # -n ¿É¼ÇÀº "s" ¸í·É¾îÀÇ "p" Ç÷¡±×¿Í °°ÀÌ ¾²¿©¼ #+ ¿ÀÁ÷ ÀÏÄ¡ÇÏ´Â ÁÙ¸¸ Ãâ·ÂÇØ ÁÝ´Ï´Ù. # ´ÙÀ½Àº ÀÌ ½ºÅ©¸³Æ®ÀÇ ÀúÀÚ°¡ 'sed'ÀÇ µ¿ÀÛ¿¡ ´ëÇؼ ¼³¸íÇÑ ³»¿ëÀÔ´Ï´Ù. # head -c4 /dev/urandom | od -N4 -tu4 | sed -ne '1s/.* //p' # ----------------------------------> | # "sed"·Î µé¾î°¡´Â Ãâ·ÂÀ» --------> | # 0000000 1198195154\n ¶ó°í °¡Á¤Çϸé # sed°¡ 0000000 1198195154\n À» ÀÐÀ¸¸é, # ´º¶óÀÎ(\n) ¹®ÀÚ¸¦ ¹ß°ßÇϱ⠶§¹®¿¡ ù ¹ø° ÁÙ(0000000 1198195154)¿¡ # ´ëÇؼ ó¸®ÇÒ Áغñ°¡ µË´Ï´Ù. # ±× ´ÙÀ½¿¡´Â ÀÚ½ÅÀÇ <ÁÖ¼Ò ¹üÀ§><µ¿ÀÛ> À» Âü°íÇϴµ¥ ¿©±â¼´Â # ÁÖ¼Ò ¹üÀ§ µ¿ÀÛ # 1 s/.* //p # °¡ µË´Ï´Ù. # ÁÙ ¹øÈ£°¡ ÁÖ¼Ò ¹üÀ§¾È¿¡ µé¾î°¡±â ¶§¹®¿¡ µ¿ÀÛÀ» ¼öÇàÇÕ´Ï´Ù: # ±× ÁÙ¿¡¼ °ø¹é¹®ÀÚ·Î ³¡³ª´Â °¡Àå ±ä ¹®ÀÚ¿("0000000 ")À» # ¾Æ¹«°Íµµ ¾Æ´Ñ °ÍÀ¸·Î(//) ġȯ½ÃÅ°°í, ¼º°øÇÑ´Ù¸é ±× °á°ú¸¦ Ãâ·ÂÇØ ÁÝ´Ï´Ù # (¿©±â¿¡¼, "p"´Â "s" ¸í·É¾î¿¡ ´ëÇÑ Ç÷¡±×Áö "p" ¸í·É¾î°¡ ¾Æ´Õ´Ï´Ù). # sed ´Â ÀÌÁ¦ ´ÙÀ½ ÀÔ·ÂÀ» ¹ÞÀ» Áغñ¸¦ ÇÕ´Ï´Ù(¿©±â¼ ÁÖÀÇÇÒ Á¡Àº, # ¸¸¾à¿¡ -n ¿É¼ÇÀÌ ¾ø´Ù¸é, ±× ÁÙÀ» ÇÑ ¹ø ´õ Ãâ·ÂÇÒ °ÍÀ̶ó´Â °ÍÀÔ´Ï´Ù). # ±× ´ÙÀ½¿¡´Â ³ª¸ÓÁö ¹®ÀÚµéÀ» ÀÐ¾î µéÀ̴µ¥, ÆÄÀÏÀÇ ³¡À» ¹ß°ßÇÏ°Ô µË´Ï´Ù. # ÀÌÁ¦ ¸¶Áö¸· ÁÙÀÓÀ» ³ªÅ¸³»´Â '$'°¡ ¸Å°ÜÁö´Â µÎ ¹ø° ÁÙÀ» ó¸®ÇÒ Áغñ°¡ µÈ°ÅÁÒ. # ±×·±µ¥ µÎ ¹ø° ÁÙÀº ¾î¶² <¹üÀ§> ¿¡µµ µéÁö ¾Ê±â ¶§¹®¿¡ µ¿ÀÛÀ» ¸ØÃä´Ï´Ù. # ÀÌ µ¿ÀÛµéÀ» °£´ÜÇÏ°Ô ¼³¸íÇØ º¸¸é ´ÙÀ½°ú °°½À´Ï´Ù: # "ù¹ø° ÁÙ¸¸ ÀÐÀº ´ÙÀ½ Á¦ÀÏ ¿À¸¥ÂÊ¿¡ ³ª¿À´Â ºó ıîÁö »èÁ¦ÇÑ ´ÙÀ½ Ãâ·Â" # ÀÌ·¸°Ô ÇÏ¸é ´õ ÁÁÀ» ¼öµµ ÀÖ½À´Ï´Ù: # sed -e 's/.* //;q' # µÎ °³ÀÇ <ÁÖ¼Ò ¹üÀ§><µ¿ÀÛ> À¸·Î ¾²ÀÏ ¼öµµ ÀÖ½À´Ï´Ù. # sed -e 's/.* //' -e q): # ÁÖ¼Ò ¹üÀ§ µ¿ÀÛ # ÀÏÄ¡ÇÏ´Â ÁÙ ¾øÀ½ s/.* // # ÀÏÄ¡ÇÏ´Â ÁÙ ¾øÀ½ q (quit) # ÀÌ·¸°Ô Çϸé, sed ´Â ¿ÀÁ÷ ù ¹ø° ÁÙ¸¸ ÀÔ·ÂÀ¸·Î ¹Þ¾Æ µéÀÔ´Ï´Ù. # "-n" ¿É¼ÇÀÌ ¾ø±â ¶§¹®¿¡ Á¾·áÇϱâ("q" ¸í·É¾î) Àü¿¡ ¹Ù²ï ÁÙÀ» Ãâ·ÂÇØ ÁÝ´Ï´Ù. # =================================================================== # # À§ÀÇ ÇÑ ÁÙÂ¥¸® ½ºÅ©¸³Æ®´Â ´õ °£´ÜÇÏ°Ô ¾µ ¼öµµ ÀÖ½À´Ï´Ù: # head -c4 /dev/urandom| od -An -tu4 exit 0