位置: 编程技术 - 正文

linux shell实现随机数几种方法分享(date,random,uuid)(shell随机)

编辑:rootadmin

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

文章相关热门搜索词:linux shell生成随机数,shell执行linux命令,linux 随机,linux shell怎么用,linux实现shell代码,linux实现shell代码,linux 随机,linux 随机,内容如对您有帮助,希望把文章链接给更多的朋友!

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

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

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

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

例子:

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

看看运行结果:

[chengmo@centos5 shell]$ sh testrandom.sh1,2-,,2-,,2-,,2-,,2-,,2-,,2-,,2-,,2-,,2-,

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

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

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

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

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

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

linux 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设备有关系。只是它们各自呈现不同而已。如果你还有更多其它方法,请给我消息,与大家分享了。

linux shell 脚本实现tcp/upd协议通讯(重定向应用) 前几天发了重定向以及管道相关使用方法,今天这里发些很有趣的例子。通过重定向实现基于tcp/udp协议的软件通讯。linux设备里面有个比较特殊的文件:/

linux shell数据重定向(输入重定向与输出重定向)详细分析 在了解重定向之前,我们先来看看linux的文件描述符。linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作

linux shell 管道命令(pipe)使用及与shell重定向区别 看了前面一节:linuxshell数据重定向(输入重定向与输出重定向)详细分析估计还有一些朋友是头晕晕的,好复杂的重定向了。这次我们看下管道命令了

标签: shell随机

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

上一篇:linux shell命令快捷获得系统帮助(一)[man-pages定义规范](linux shell脚本命令)

下一篇:linux shell 脚本实现tcp/upd协议通讯(重定向应用)(linux shell脚本编程100例)

  • 报税残疾人保障费怎么算
  • 小型微利企业企业所得税优惠政策2021年
  • 建筑业确认收入的时间是按进度计量么
  • 工资发放流程以及如何记账
  • 开发成本公式
  • 营改增以前土地交易应交税费
  • 亏损可以不用缴增值税吗
  • 企业要怎样才能发挥其在实现生态产品价值过程中的作用
  • 用银行存款缴纳各种税费所引起的变动为
  • 新车车牌照
  • 财务申报工资和实际发工资
  • 按公允价值计量是什么意思
  • 使用人民币进行石油贸易结算
  • 食品发票可以抵扣所得税吗
  • 企业所得税季报和年报的区别
  • 福利费专票不抵税可以吗
  • 房地产企业收到定金 什么时候交增值税 账务处理
  • 长期待摊费用要设明细科目吗
  • 税务行政强制行为遵循的原则
  • 打款给个体户
  • 单位定期存款支取
  • 个人从价计征房产税
  • 手机连不上wifi显示已停用是怎么回事
  • commandlineoptionsyntaxerror翻译详情
  • 收取水电费如何开票
  • 怎么获取win10密钥
  • 免租期房产税增值税如何计算
  • 预算会计的特点包括
  • abm文件怎么打开
  • 无偿调入固定资产账务处理
  • k210中文手册
  • java 调用go
  • 大堡礁的现状
  • Laravel5.5新特性之友好报错以及展示详解
  • 资金筹集业务核算实训内容
  • 还贷款利息会计怎么做账
  • 三联专用发票每一联分别给谁
  • c语言设计酒店管理系统
  • unet模型代码matlab
  • css做三角
  • 预算凭证可以单张打印吗
  • 差旅费必须填写差旅费报销单吗
  • sql批量替换值
  • 今年利润弥补以前年度亏损如何记账
  • 没有发票的公账报销了怎么入账
  • 汽车4s店售后业绩看板
  • 发票盖财务专用章后又盖发票专用章
  • 财务软件在建立账套功能中提供了
  • 增值税减免税申报表
  • 收到银行开的手续费发票如何做帐
  • 现金收货款要填什么信息
  • 哪些费用可以入开办费
  • 电影赠票怎么用
  • 记账凭证背面贴原始凭证图片
  • 财务报表中的存货包括哪些内容
  • 固定资产暂估入账的税务处理
  • 营改增后建筑业开票规定
  • mysql根据另一张表更新
  • mac os图片
  • wupdated.exe - wupdated是什么进程
  • centos如何查看服务进程
  • sentstrt.exe - sentstrt进程是什么文件 有什么用
  • win7系统电脑打开的软件闪退怎么办
  • win8磁盘占用率100%如何解决
  • win8飞行模式在哪
  • win7更新显卡驱动后黑屏的解决方法
  • js基于对象的特点是什么
  • 自动上传文件
  • fat32和fat16
  • Clipboard.js 无需Flash的JavaScript复制粘贴库
  • js中new操作符工作原理
  • androidstudio如何放大代码
  • 广东省电子税务局登录方式
  • 企业分期收款销售商品,即商品已经交付
  • 开票软件重置密码去哪里
  • 2020年职工探亲路费报销最新规定
  • 学历认证取消申请还能再申请吗
  • 企业租赁房屋需要预缴增值税吗
  • 12366地税投诉
  • 中俄改订条约收回哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设