首页 > 系统服务 > 详细

shell的随机数

时间:2019-05-08 12:30:51      阅读:98      评论:0      收藏:0      [点我收藏+]

bash默认有一个$RANDOM的变量, 默认范围是0~32767.

使用set|grep RANDOM查看上一次产生的随机数

[root@server shell02]# echo $RANDOM
15832
[root@server shell02]# set |grep RANDOM
RANDOM=15832
[root@server shell02]#

产生0~1之间的随机数

[root@server shell02]# echo $[$RANDOM%2]
0
[root@server shell02]# echo $[$RANDOM%2]
0
[root@server shell02]# echo $[$RANDOM%2]
1

产生0~2的随机数

[root@server 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之间的随机数

[root@server 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之间的随机数

[root@server 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

产生三位数的随机数

[root@server 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的随机数

原文:https://www.cnblogs.com/golinux/p/10831061.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!