when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.
需要在脚本里实现整一个随机数作为 ut 乱序执行 case 的种子
以下是 linux 中四种常见获得随机整数的方法,除了第一个,后三个,产生随机数的伪数据来源,都与 /dev/random 设备有关
这个也是经常用到的,可以说时间是唯一的,也不会重复的,从这个里面获得同一时间的唯一值
1 | $ date +%s # 获得时间戳,当前时间到:1970-01-01 00:00:00 相隔的秒数 |
其实,linux 已经提供系统环境变量了,直接就是随机数,这个数是一个小于或等于5位的整数
/dev/random 设备存储着系统当前运行的环境的实时数据,可以看作是系统某个时候,唯一值数据,因此可以用作随机数元数据
/dev/urandom 这个设备数据与 random 里面类似,只是,它是非阻塞的随机数发生器,读取操作不会产生阻塞
1 | $ head -200 /dev/urandom | cksum | cut -f1 -d" " |
什么是 uuid 呢?
UUID 全称是通用唯一识别码 (Universally Unique Identifier, UUID),是一个软件建构的标准,亦为自由软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。与之类似的还有一个 guid(全局唯一标识符),由微软支持
UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。它会让网络任何一台计算机所生成的uuid码,都是互联网整个服务器网络中唯一的。它的原信息会加入硬件,时间,机器当前运行信息等等
UUID 格式是:包含 32 个 16 进制数字,以 “-” 连接号分为五段,形式为 8-4-4-4-12 的 32 个字符
例:550e8400-e29b-41d4-a716-446655440000
linux 的 uuid 码由内核提供,在 /proc/sys/kernel/random/uuid 这个文件内。random 目录里还有很多其它文件,都与生成 uuid 有关
1 | $ cat /proc/sys/kernel/random/uuid | cksum | cut -f1 -d" " |
be slow to promise and quick to perform.