shell 脚本 实现随机数

现在我想要1~39之间的随机数该怎么做呢?

date +%N   显示当前时间的纳秒   可以把这个数用来做随机数

但我只想要1~39的随机数,该怎么办呢

#! /bin/bash
#
echo $((( $(date +%N) % 39 ) + 1 )) 取余加1

可以用取余的方法,由于整除时余数为0,所以需要加1

测试:

时间: 2024-10-25 15:38:38

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

shell脚本获取随机数random

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

centos7 shell脚本实现随机数

questions: 1.随机数如何获得 2.如何确定随机值的大小是我们所需要的 answers: 1.目前可以通过获取系统时间的毫秒数来得到,毕竟毫秒数还是变化比较快的 可以看到这个速度还是变化很快的,拿来做随机还是很好的一个选择 2.比如我们需要拿到1到39的随机数,应该怎么呢?得到的毫秒数除以39?但这样获得的数字一定不在1到39内. 但我们可以通过取余数的方法得到. #!/bin/bash num=$(date +%N); a=`expr $num % 39 ` echo $a 这样我们

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

shell脚本小实例

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

shell 脚本编程基础

一.编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 1.程序的执行方式 计算机:运行二进制指令: 编程语言: 低级:汇编 高级: 编译:高级语言–>编译器–>目标代码 java,C# 解释:高级语言–>解释器–>机器代码 shell, perl, python 2.编程基本概念 编程逻辑处理方式: 顺序执行 循环执行 选择执行 shell编程:过程式.解释执行 编程语言

第三部分shell编程3(shell脚本编写1)

做监控和备份最多 1. shell脚本是什么它是一种脚本语言,并非编程语言可以使用一些逻辑判断.循环等语法可以自定义子函数是系统命令的集合shell脚本可以实现自动化运维,大大增加我们的工作效率 第一个shell脚本:mkdir shellcd shell/vim 1.sh``#! /bin/bash`#This is a test shell script``echo "123456."`touch aming.111`date 2. shell脚本结构以及执行方法开头行指定bash

shell脚本高级进阶小总结

经过一周脚本的折磨,觉得还是有一定的收获,所以就把一些不容易理解的并且容易忘记的难点做一个总结.shell脚本中主要有两大模块,第一就是流程控制的脚本,第二就是函数控制的脚本. ▲首先,流程控制包括顺序执行,选择执行,循环执行.主要的条件语句就是if.那就来先说说if语句吧! 1.if语句分为单分支,双分支和多分支,并且可以嵌套. 2.多分支分为如下几种情况 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3; then

正则与shell脚本

Day01 计算机组成硬件-->内核[驱动]-->shell或图形-->人 汽车shellbash--宝马tcsh--吉利#cat /etc/shells bash-completion[rhel7] 命令和路径选项 /etc/profile 环境变量和启动程序/etc/bashrc  函数和别名/root/.bash_profile/root/.bashrc #vim /etc/profileHISTSIZE=1000    命令历史的条目echo "test" 标

vim 文本编辑器、shell脚本:

vim 文本编辑器:    三种主要模式:        命令模式(默认):移动光标,剪切/粘贴文本        插入(编辑)模式:修改文本 输入i 进入插入模式        扩展模式:保存,退出等        快键           i: insert, 在光标所在处输入        I:在当前光标所在行的行首输入        a: append, 在光标所在处后面输入        A:在当前光标所在行的行尾输入        o: 在当前光标所在行的下方打开一个新行