我想在unix shell(说tcshell)中生成一个随机文件名。文件名应包含随机的32个十六进制字母,例如:
c7fdfc8f409c548a10a0a89a791417c5
(我将添加任何是必要的)。关键是只能在shell中做而不使用程序。
假设你在一个linux,以下应该工作:
cat /dev/urandom | tr -cd 'a-f0-9' | head -c 32
这只是伪随机的,如果你的系统运行低熵,但(在linux)保证终止。如果你需要真正随机的数据,cat / dev / random代替/ dev / urandom。这个更改将使你的代码块,直到足够的熵可用来产生真正的随机输出,所以它可能会减慢你的代码。对于大多数用途,/ dev / urandom的输出是充分随机的。
如果在OS X或其他BSD上,您需要将其修改为以下内容:
cat /dev/urandom | env LC_CTYPE=C tr -cd 'a-f0-9' | head -c 32
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。