首页 > 系统相关 >Shell脚本生成随机整数

Shell脚本生成随机整数

时间:2024-01-27 11:55:38浏览次数:26  
标签:10 Shell RANDOM 整数 echo 随机 urandom 生成

 Shell脚本生成随机整数

$RANDOM:使用当前的进程ID(PID)和当前时间/日期生成的,该时间/日期由自1970年以来经过的秒数定义。

 

1、urandom命令

grep -m1 -ao '[0-9]' /dev/urandom | sed s/0/10/ | head -n1

 

2、用$RANDOM

 要生成范围:{0,..,9} 

r=$(( $RANDOM % 10 ))
echo $r

 要生成范围:{40,..,49}

r=$(( $RANDOM % 10 + 40 )); echo $r

 

 3、伪随机生成器的示例

不能使用 $RANDOM 和 /dev/urandom 的情况

echo $(date +%S) | grep -o .$ | sed s/0/10/
或者 echo $(( ( RANDOM % 10 ) + 1 ))

 

4、使用bash生成随机数

请使用$RANDOM内部Bash函数。注意:$RANDOM不应用于生成加密密钥。

echo $RANDOM % 10 + 1 | bc

 

5、命令工具,例如gnushuf

shuf -i1-10 -n1

 

6、精确一些

如果你想使用$RANDOM,那么丢弃0 ... 32767中的最后8个数字会更精确,

只需将其视为0 ... 32759,因为从0 ... 32767 mod 10获得以下内容分配,因此,稍慢但更精确。

  • 0-8 each: 3277
  • 8-9 each: 3276 
while :; do ran=$RANDOM; ((ran < 32760)) && echo $(((ran%10)+1)) && break; done

 

标签:10,Shell,RANDOM,整数,echo,随机,urandom,生成
From: https://www.cnblogs.com/fieldtianye/p/17991274

相关文章

  • shell括号用法汇总
    总结:${}:作用是获取变量的结果,一般情况下,$var与${var}是没有区别的,但是用${}会比较精确的界定变量名称的边界范围。$[]:进行数学运算$():命令替换操作,同反应引号``,即命令的嵌套使用,将$()中包括的命令执行结果向外传递。举例:echotodayis$(date"+%Y-%m-%d")${}与$:$与${}都......
  • 你不知道的Linux shell操作
    LinuxShell脚本入门教程LinuxShell脚本是一种强大的工具,它允许您自动化日常任务和复杂操作。在本教程中,我们将逐步介绍几个实用的Shell脚本示例。每个示例都将详细说明,以便即使是初学者也能轻松理解和应用。1.基础Shell脚本示例1:"HelloWorld"每个编程学习之旅都......
  • shell安装powershell.exe
    #判断PowerShell是否已安装if["$OS"=="windows"];thenif!command-vpowershell.exe&>/dev/null;thenecho"PowerShell未安装,正在安装PowerShell..."#检查系统位数if["$(uname-m)"=="x86_64"......
  • 整数反转
     解答:publicstaticvoidmain(String[]args){intvalue=13287979;System.out.println(reverse(value));}publicstaticintreverse(intx){longres=0;while(x!=0){res=res*10+x%10;......
  • SHELL AES ECB 加密解密
    SHELLAESECB加密解密AES(高级加密标准)算法可以使用ECB模式进行加密和解密。在Shell中,我们可以通过openssl命令来进行AES的ECB加密和解密操作。下面是示例代码:安装OpenSSL工具包(如果未安装):sudoapt-getinstallopenssl创建一个名为encrypt_decrypt.sh的脚本文件并编写以下......
  • PYTHON 用几何布朗运动模型和蒙特卡罗MONTE CARLO随机过程模拟股票价格可视化分析耐克
    原文链接:http://tecdat.cn/?p=27099最近我们被客户要求撰写关于蒙特卡罗的研究报告,包括一些图形和统计输出。金融资产/证券已使用多种技术进行建模。该项目的主要目标是使用几何布朗运动模型和蒙特卡罗模拟来模拟股票价格。该模型基于受乘性噪声影响的随机(与确定性相反)变量该项......
  • 第十二天:SHELL编程之常见工具、数组及字符串切片
    一、信号捕捉traptrap命令可以捕捉信号,修改信号原来的功能,实现自定义功能#列出所有信号trap-l#进程收到系统发出的指定信号后,将执行自定义指令,而不会执行原操作trap'触发指令'信号#忽略信号的操作trap''信号#恢复原信号的操作trap'-'信号......
  • PowerShell 给命令取一个别名 ( 例子: pnpm -> n)(转载)
    查看一下profile文件的位置执行命令echo$PROFILE1output:C:\Users\Administrator\Documents\PowerShell\Microsoft.PowerShell_profile.ps11以自己电脑实际的输出位置为准(每个人的电脑输出可能不同)修改接下来到这个目录创建/修改这个脚本文件(第一次玩这个功能.应该都没有......
  • 12. 整数转罗马数字
    1.题目介绍罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符数值I1V5X10L50C100D500M1000例如,罗马数字2写做II,即为两个并列的1。12写做XII,即为X+II......
  • cmd&powershell有时会卡住(假死)的解决办法
    windows10cmd命令提示符/批处理/终端快速编辑模式bug程序运行被阻塞顶部标题栏提示选择需要回车或空格才能继续执行的解决方案... 问题描述:   开启命令行窗口后,按了一下键盘恢复,一下刷新一大片,这个问题就是像是假死一样,也不报错,这是怎么回事呢原因分析:cmd......