shell的隨機數
阿新 • • 發佈:2019-05-08
grep 數字遊戲 exp while 變量 rep 默認 roo random
bash默認有一個$RANDOM的變量, 默認範圍是0~32767.
[[email protected] shell02]# echo $RANDOM 15832 [root@server shell02]# set |grep RANDOM RANDOM=15832 [root@server shell02]#
產生0~1之間的隨機數
[[email protected] shell02]# echo $[$RANDOM%2] 0 [root@server shell02]# echo $[$RANDOM%2]0 [root@server shell02]# echo $[$RANDOM%2] 1
產生0~2的隨機數
[[email protected] shell02]# echo $[$RANDOM%3] 1 [root@server shell02]# echo $[$RANDOM%3] 2 [root@server shell02]# echo $[$RANDOM%3] 1 [root@server shell02]# echo $[$RANDOM%3] 2 [root@server shell02]#
產生1~2之間的隨機數
[[email protected] shell02]#echo $[$RANDOM%2+1] 1 [root@server shell02]# echo $[$RANDOM%2+1] 2 [root@server shell02]# echo $[$RANDOM%2+1] 1 [root@server shell02]# echo $[$RANDOM%2+1] 2
產生50~100之間的隨機數
[[email protected] shell02]# echo $[$RANDOM%51+50] 63 [root@server shell02]# echo $[$RANDOM%51+50] 90 [root@server shell02]#echo $[$RANDOM%51+50] 77 [root@server shell02]# echo $[$RANDOM%51+50] 88
產生三位數的隨機數
[[email protected] shell02]# echo $[$RANDOM%900+100] 713 [root@server shell02]# echo $[$RANDOM%900+100] 686 [root@server shell02]# echo $[$RANDOM%900+100] 474 [root@server shell02]# echo $[$RANDOM%900+100] 202
總結一下
產生一個n~m範圍內的隨機數
使用$RANDOM取余m-n+1,之後加上n就可以了
猜數字遊戲
#!/bin/bash echo "猜一個1-100的整數,猜對砸蛋:" num=$[$RANDOM%100+1] while true do read -p "請猜:" gnum if [ $gnum -gt $num ];then echo "大了" elif [ $gnum -lt $num ];then echo "小了" else echo "對了" break fi done echo "砸蛋"
shell的隨機數