centos7 shell脚本实现随机数

questions:

1.随机数如何获得

2.如何确定随机值的大小是我们所需要的

answers:

1.目前可以通过获取系统时间的毫秒数来得到,毕竟毫秒数还是变化比较快的

可以看到这个速度还是变化很快的,拿来做随机还是很好的一个选择

2.比如我们需要拿到1到39的随机数,应该怎么呢?得到的毫秒数除以39?但这样获得的数字一定不在1到39内。

但我们可以通过取余数的方法得到。

#!/bin/bash
num=$(date +%N);
a=`expr  $num % 39 `
echo   $a

这样我们就取得了所有数值,测试一下

出现了0,但是0我们不需要啊,所以我们应该在结果后面加上1

#!/bin/bash
num=$(date +%N);
a=`expr  $num % 39 `
b=`expr $a + 1 `
echo $b

这样就做到了1到39的随机数产生

测试一下

时间: 2024-10-26 10:01:16

centos7 shell脚本实现随机数的相关文章

shell脚本获取随机数random

用C提供的取随机数的方法srand和rand, 前者是给后者设置随机数种子seed. int rnd_num = 0; srand(seed); // time(NULL) 通常使用时间做种子 rnd_num = rand(); // 产生随机数 产生种子的方法: 1. 使用日期时间 时间作为种子很简单,取当前日期和时间,但是存在一个陷阱:当多台机器并发执行产生随机数时,出现相同随机数的概率非常高.不推荐这种方式 2. 使用$RANDOM 需要系统支持,通过echo来检测, 打印出一个随机数字,

shell 脚本 实现随机数

现在我想要1~39之间的随机数该怎么做呢? date +%N   显示当前时间的纳秒   可以把这个数用来做随机数 但我只想要1~39的随机数,该怎么办呢 #! /bin/bash # echo $((( $(date +%N) % 39 ) + 1 )) 取余加1 可以用取余的方法,由于整除时余数为0,所以需要加1 测试:

shell脚本获取随机数

$RANDOM系统变量 在bash中,支持$RANDOM系统变量,范围是 [0, 32767] #!/bin/bash set -e randN() { local N=$1 echo $(($RANDOM%$N)) } while [ true ]; do echo `randN 100` sleep 1s done 我在树莓派上用sh命令运行脚本发现$RANDOM为空,但是用bash可以正常运行. 原文地址:https://www.cnblogs.com/HachikoT/p/1263444

centos7 开机自动执行shell脚本

centos7 开机自动执行shell脚本 90十80 关注 2018.12.23 09:37 字数 309 阅读 485评论 0喜欢 0 自己新建一个脚本,如centnet-service.sh 经过后面的几个步骤后,这个脚本在开机的时候会执行,在这个脚本里面可以写你开机的时候想执行的命令,如启动tomcat,oracle等服务 在脚本中输入启动服务的命令,如(开机启动tomcat): #!/bin/bash export JDK_HOME=/home/java/jdk1.8.0_91 exp

在CentOS7.2安装Jdk1.8和resin4.0.45的步骤及shell脚本

1.java的安装 jdk下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 1.1.安装jdk-1.8 [[email protected] ~]# ls anaconda-ks.cfg  Desktop  jdk-8u77-linux-x64.rpm  [[email protected] ~]# rpm -ivh jdk-8u77-linux-x64.rpm  [[

续写vim,shell脚本基础编辑,read命令,if与case判断语句,文件查找方式,压缩与解压,

一. Vim续写 ?1.命令扩展模式的位置定界 ??起始位置 cmd 终止位置???Cmd:????y复制????d删除????Gu变大写????gu变小写??例如:0y$命令意味着:????0 先到行头????Y 从这里开始拷贝????$ 拷贝到本行行尾最后一个字符????Ye 从当前位置拷贝到本单词的最后一个字符 ?2.扩展命令模式:地址定界 ? ?# 具体第#行,? ?#1,#2 从开头数第#1行到第#2行? ?#1,+#2 从开头数的第#1行到从第#1行开始数的第#2行? ? ?例:2,

Linux基础知识:SHELL脚本;find查找、tar压缩;sed文件处理工具

Shell脚本编程基础?程序?程序:算法+数据结构?数据:是程序的核心?数据结构:数据在计算机中的类型和组织方式?算法:处理数据的方式?程序编程风格:过程式:以指令为中心,数据服务于指令对象式:以数据为中心,指令服务于数据?shell程序:提供了编程能力,解释执行高级编程语言:编译:高级语言-->编译器-->机器代码-->执行C,C++解释:高级语言-->执行-->解释器-->机器代码shell,python,php,JavaScript,perl编译语言:像吃大餐,做

shell脚本编程之基础篇(二)

shell脚本编程之基础篇(二) ============================================================================== 概述: ============================================================================== 退出状态 ★进程使用退出状态来报告成功或失败 ◆0 代表成功,1-255代表失败 ◆$? 变量保存最近的命令退出状态 (查看:echo $?)

shell脚本小实例

本文收集了一堆的shell脚本技巧,我说过,我写博客主要是作一些学习笔记,方便自己查阅,所以,我会搞出这么一篇文章,也没有什么不可理解的.关于这些技巧的出处,诶,我也忘了,可能来自theunixschool. commandlinefu.酷勤网和igigo.net,当然了,也有部分是我自己的经验心得,管他呢,进了我的脑子就是我的了. 0. shell 调试 复制代码代码如下: sh -x somefile.sh 在somefile.sh 文件里加上set+x set-x1. 用 && ||