#!/bin/bash # $RANDOM Àº ºÒ¸± ¶§¸¶´Ù ´Ù¸¥ ¹«ÀÛÀ§ Á¤¼ö °ªÀ» ¸®ÅÏÇÕ´Ï´Ù. # ¸íĪ»óÀÇ ¹üÀ§(nominal range): 0 - 32767(16 ºñÆ® ¾çÀÇ Á¤¼ö). MAXCOUNT=10 count=1 echo echo "$MAXCOUNT °³ÀÇ ·£´ýÇÑ ¼ýÀÚ:" echo "-----------------" while [ "$count" -le $MAXCOUNT ] # 10 ($MAXCOUNT) °³ÀÇ ·£´ý Á¤¼ö ¹ß»ý. do number=$RANDOM echo $number let "count += 1" # Ä«¿îÅÍ Áõ°¡. done echo "-----------------" # ¾î¶² ¹üÀ§ÀÇ ·£´ý °ªÀÌ ÇÊ¿äÇÏ´Ù¸é '³ª¸ÓÁö(modulo)' ¿¬»êÀÚ¸¦ ¾²¸é, # ¾î¶² ¼ö¸¦ ³ª´« ³ª¸ÓÁö °ªÀ» ¸®ÅÏÇØ ÁÝ´Ï´Ù. RANGE=500 echo number=$RANDOM let "number %= $RANGE" echo "$RANGE º¸´Ù ÀÛÀº ·£´ýÇÑ ¼ýÀÚ --- $number" echo # ¾î¶² °ªº¸´Ù Å« ·£´ýÇÑ Á¤¼ö°¡ ÇÊ¿äÇÏ´Ù¸é # ±× °ªº¸´Ù ÀÛÀº ¼ö´Â ¹«½ÃÇÏ´Â Å×½ºÆ® ¹®À» °É¸é µË´Ï´Ù. FLOOR=200 number=0 # ÃʱâÈ while [ "$number" -le $FLOOR ] do number=$RANDOM done echo "$FLOOR º¸´Ù Å« ·£´ýÇÑ ¼ýÀÚ --- $number" echo # »óÇÑ°ª°ú ÇÏÇÑ°ª »çÀÌÀÇ ¼ö°¡ ÇÊ¿äÇÏ´Ù¸é À§ÀÇ µÎ Å×Å©´ÐÀ» °°ÀÌ ¾²¸é µË´Ï´Ù. number=0 # ÃʱâÈ while [ "$number" -le $FLOOR ] do number=$RANDOM let "number %= $RANGE" # $number °¡ $RANGE ¾È¿¡ µé¾î¿À°Ô. done echo "$FLOOR ¿Í $RANGE »çÀÌÀÇ ·£´ýÇÑ ¼ýÀÚ --- $number" echo # "Âü"À̳ª "°ÅÁþ"Áß¿¡ Çϳª¸¦ °í¸£µµ·Ï ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. BINARY=2 number=$RANDOM T=1 let "number %= $BINARY" # let "number >>= 14" ´õ ÁÁÀº ºÐÆ÷ÀÇ ·£´ý°ªÀ» ÁÝ´Ï´Ù. # (¸¶Áö¸· µÎ ºñÆ®¸¦ Á¦¿ÜÇÏ°í ¸ðµÎ ¿À¸¥ÂÊÀ¸·Î ½¬ÇÁÆ® ½ÃÅ´). if [ "$number" -eq $T ] then echo "TRUE" else echo "FALSE" fi echo # ÁÖ»çÀ§ ´øÁö±â¸¦ Èä³»³» º¼±î¿ä? SPOTS=7 # 7 ÀÇ ³ª¸ÓÁö(modulo)´Â 0 - 6. DICE=2 ZERO=0 die1=0 die2=0 # Á¤È®ÇÑ È®·üÀ» À§Çؼ µÎ °³ÀÇ ÁÖ»çÀ§¸¦ µû·Î ´øÁý½Ã´Ù. while [ "$die1" -eq $ZERO ] # ÁÖ»çÀ§¿¡ 0Àº ¾øÁÒ. do let "die1 = $RANDOM % $SPOTS" # ù¹ø° ÁÖ»çÀ§¸¦ ±¼¸®°í. done while [ "$die2" -eq $ZERO ] do let "die2 = $RANDOM % $SPOTS" # µÎ¹ø°¸¦ ±¼¸®¸é. done let "throw = $die1 + $die2" echo "µÎ ÁÖ»çÀ§¸¦ ´øÁø °á°ú = $throw" echo exit 0