shell作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
shell基本上是一个命令解释器,类似于dos下的command。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的bourne shell (sh)和c shell (csh)。
本文将介绍linux shell里面生成随机数的一些思路分析
1.使用时间相关的随机数
利用data命令生成输出unixtimestamp(%s)和当前时间的纳秒数据(%n,精确到亿分之一秒。)
前者保证在不同秒数之内输出不重复 后者保证在同一秒内数字不重复 两者组合就可以了
date +%s%n
这个方法不依赖系统 只要时间不停止,就一直可以得到不重复的为随机数
2.系统shell内部变量 $random
这么没啥好说的 依赖shell
3.通过linux的随机设备获取 然后算校验和
head -10 /dev/urandom | cksum
注意这里千万不要使用cat去获取 这个是一条没有尽头的路 获取1行和10行没有太大的区别 这个
4.通过linux的内核的uuid获取
uuid的计算信息会加入硬件,时间,机器当前运行信息等,可以保证生成的都是全球唯一的 直接
cat /proc/sys/kernel/random/uuid
就可以 然后在算校验和转换为数字即可,但是依赖linux内核。
以上是linux shell实现生成随机数的四种方法。
电视能连接蓝牙耳机吗 电视接蓝牙耳机的具体办法视频点播服务器的配置如何选择,需要多大的带宽百度云服务器快照使用方法今早数据丢失问题-虚拟主机/数据库问题linux云服务器怎么加虚拟内存信也科技孵化云计算平台 助力数字新基建笔记本显卡天梯图_2020年6月笔记本显卡排行天梯图SEO优化工作中哪些是一次性可以完成的