zoukankan      html  css  js  c++  java
  • shell的随机数

    转载自https://www.cnblogs.com/golinux/p/10831061.html

    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 "砸蛋"
  • 相关阅读:
    laravel 资源控制器方法列表
    laravel 用户认证简单示例
    使用Faker库生成模拟数据
    js获取世界不同时区的当前时间
    html2canvas将页面内容生成图片
    canvas绘制环形进度条
    H5 实现图片上传预览
    js实现复制内容到粘贴板
    node.js创建简单服务测试请求数据
    ES6语法知识
  • 原文地址:https://www.cnblogs.com/faberbeta/p/13260736.html
Copyright © 2011-2022 走看看