位置: 编程技术 - 正文

Shell脚本实现随机数多种方法介绍(date、random、uuid)(shell脚本随机数)

编辑:rootadmin

推荐整理分享Shell脚本实现随机数多种方法介绍(date、random、uuid)(shell脚本随机数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:shell脚本 -z,shell脚本 -z,shell脚本自动执行,shell脚本自动执行,shell脚本随机数,shell脚本随机点名,shell脚本随机生成数字,shell脚本随机数,内容如对您有帮助,希望把文章链接给更多的朋友!

在日常生活中,随机数实际上经常遇到,想丢骰子,抓阄,还有抽签。呵呵,非常简单就可以实现。那么在做程序设计,真的要通过自己程序设计出随机数那还真的不简单了。现在很多都是操作系统内核会提供相应的api,这些原始参数是获取一些计算机运行原始信息,如内存,电压,物理信号等等,它的值在一个时间段可以保证是唯一的了。好了,废话我就不说了。呵呵。

shell脚本程序我们有那些获得随机数方法呢?

一、通过时间获得随机数(date)

这个也是我们经常用到的,可以说时间是唯一的,也不会重复的,从这个里面获得同一时间的唯一值。适应所有程序里面了。

例子:

通过上面说明,用它来做随机数的基数了,接下来我们看怎么样获得一段数据内怎么样获得随机数。

看看运行结果:

一个循环里面,得到值各不相同。

这个是我们常用方法,适应各种语言,是一个通用算法,就算服务器不提供,某时刻相同唯一数据标记,我们也可以通过这种方法,做自己的伪随机数。下面还有更简单方法呢,不要我们自己做了。

2、通过内部系统变量($RANDOM)

其实,linux已经提供有个系统环境变量了,直接就是随机数,哈哈,觉得刚学习方法,是不是白费了!!

可能有疑问了,如果超过5位的随机数怎么得到呢?

呵呵,加个固定位整数,然后进行求余,跟例1 一样了。接下来的例子又是我们自立更生做了。

Shell脚本实现随机数多种方法介绍(date、random、uuid)(shell脚本随机数)

3、通过系统内部唯一数据生成随机数(/dev/random,urandom)

我们知道dev目录下面,是linux一些默认设备,它给我们感觉就是放的是键盘,硬盘,光驱等设备的对应文件了。 其实linux有些设备很特殊,有特殊用途。前面我们说到的:/dev/[udp|tcp]/host/port比较特殊吧。呵呵,有扯远了。

/dev/random设备,存储着系统当前运行的环境的实时数据。它可以看作是系统某个时候,唯一值数据,因此可以用作随机数元数据。我们可以通过文件读取方式,读得里面数据。/dev/urandom这个设备数据与random里面一样。只是,它是非阻塞的随机数发生器,读取操作不会产生阻塞。

实例:

得到整型数据,然后,类似一的方法就可以获得到随机数了。 题外话:在程序里面,我们经常md5得到唯一值,然后是字符串的,如果想表示成整型方式,可以通过crc函数.crc是循环冗余校验,相同数据通过运算,都会得到一串整型数据。现在这种验证应用很广。详细要了解,可以参考:crc.

下面还有个方法,直接从设备读取生成好的uuid码。

4、读取linux 的uuid码

在提到这个之前,有个概念,就是什么是uuid呢?

UUID码全称是通用唯一识别码 (Universally Unique Identifier, UUID),它 是一个软件建构的标准,亦为自由软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。

UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。它会让网络任何一台计算机所生成的uuid码,都是互联网整个服务器网络中唯一的。它的原信息会加入硬件,时间,机器当前运行信息等等。

UUID格式是:包含个进位数字,以“-”连接号分为五段,形式为8-4-4-4-的个字符。范例;e-eb-d4-a- ,所以:UUID理论上的总数为 x 8=,约等于3.4 x 。 也就是说若每奈秒产生1兆个UUID,要花亿年才会将所有UUID用完。

其实,大家做数据库设计时候,肯定听说过,guid(全局唯一标识符)码,它其实是与uuid类似,由微软支持。 这里编码,基本有操作系统内核产生。大家记得把,在windows里面,无论数据库,还是其它软件,很容易得到这个uuid编码。

linux 的uuid码

linux的uuid码也是有内核提供的,在/proc/sys/kernel/random/uuid这个文件内。其实,random目录,里面还有很多其它文件,都与生成uuid有关系的。

这是linux下面,几种常见活动随机数整数方法,除了第一个是不同外,其实后3个,产生随机码的伪数据来源,都与/dev/random设备有关系。只是它们各自呈现不同而已。如果你还有更多其它方法,请给我消息,与大家分享了。

Shell函数的7种用法介绍 1.在shell文件内部定义函数并引用:[~/shell/function]#catfactorial.sh#!/bin/bashfunctionfactorial{factorial=1for((i=1;i=$1;i++))dofactorial=$[$factorial*$i]doneecho$1的阶乘是:$factorial

Shell去除空行的4种方法 有时我们在处理和查看文件时,经常会有很多空行,为了美观或是有需要时,就有必要把这些除行去掉了,方法如下:1)用tr命令cat文件名|tr-s‘n'2)用s

Shell脚本模拟多线程功能分享 #!/bin/bashfunctionpinghost{ping$1-c1-w|greprtt|cut-d/-f6}tmp_fifofile=/tmp/$.fifo#脚本运行的当前进程ID号作为文件名mkfifo$tmp_fifofile#新建一个随机fifo管道文件exec6$tmp_fifo

标签: shell脚本随机数

本文链接地址:https://www.jiuchutong.com/biancheng/379893.html 转载请保留说明!

上一篇:Shell脚本中不同进制数据转换的例子(二进制、八进制、十六进制、base64)

下一篇:Shell函数的7种用法介绍(shell函数库)

  • 出口退税退的是进项税还是销项税
  • 不用交增值税还用填附加税申报表吗
  • 新准则金融资产科目名称
  • 银行理财算投资吗
  • 如何证明自己是低保户
  • 什么时候用以前年度损益调整什么时候用年初未分配利润
  • 关联企业利息
  • 预交增值税设备租赁是否可抵扣
  • 核定和查账区别
  • 跨区域缴纳社保
  • 企业住房维修基金怎么交
  • 车船税发票丢了咋办
  • 股票价格变化的原因
  • 油卡充值属于什么行业
  • 闲置资金的利息收益要冲减财务费用
  • 水费差额征税税率
  • 未分配利润为什么不分配
  • 进项负数发票怎么做账报税
  • 1697510742
  • vmware运行win10很卡怎么解决
  • 原材料盘亏计入
  • 劳务费没发票怎样下账
  • win11无法打开开始菜单怎么办
  • 公司基本户可以异地开户吗
  • win10任务栏颜色怎么调
  • PHP:preg_match_all()的用法_PCRE正则函数
  • 实际投资收益率等于什么
  • 公司送红包账务怎么处理
  • 房屋租赁费如何结转成本
  • 长期借款利息的会计科目
  • 固定资产减少和固定资产折旧
  • 自查补缴增值税如何申报
  • 财政返还土地奖金的规定
  • 金门大桥和马林大桥区别
  • 搭建小技巧
  • PHP使用pear实现mail发送功能 windows环境下配置pear
  • 【第十一届“泰迪杯”数据挖掘挑战赛】B题产品订单的数据分析与需求预测“解题思路“”以及“代码分享”
  • 资产等于负债加所有者权益
  • react router教程
  • php生成二维码海报
  • 总公司签合同后将工程给分公司可以吗
  • nginx webservice
  • ros机器人自主导航中膨胀地图图层的颜色
  • 税法折旧和会计折扣会计分录
  • 资本化利息支出现金流量表计入哪里
  • 提取公益金会计怎么做账
  • 铁路运输费发票备注栏必填吗
  • 营业外收支的账户是什么
  • 个人所得税如何查询
  • 城镇土地使用税优惠政策
  • 手工帐月末结转会计分录
  • 差旅费必须填写差旅费报销单吗
  • 公司转让注册海外公司
  • 上期金额是本年累计金额吗
  • 不动产销售额是否为免税
  • 固定资产减值损失计入
  • 公司向法人借款有税务风险吗
  • 区分好坏
  • 冲估价入库怎么冲成本
  • 机票电子行程单查询
  • etc的充值发票可以报账吗
  • 销售费用的增值税是进项还是销项
  • 新公司内账怎么做
  • 文件夹字体变成蓝色怎么恢复
  • win8系统怎么设置密码
  • 用户请愿地址曝露怎么办
  • win8开始界面如何设置成win7
  • c:windowssys:em32mtgyu.dll 内存分配访问无效的解决办法
  • 手把手教你在家制作豆腐脑
  • 铁嘴王指什么动物
  • Javascript之String对象详解
  • android 图像处理
  • javascript中new Array()和var arr=[]用法区别
  • mysql命令备份数据库
  • linux查看端口号占用
  • unity3D游戏开发
  • 怎么查税务是否备案
  • 深圳税务局官方客服电话
  • 文化事业建设费减免政策
  • 在国税局工作属于什么职业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设