本来应该是一个简单的 bash 脚本,结果却变成了怪物。这是第五次尝试。您甚至不想看到尝试 #4 的 30 行怪物.. :)
这是我想要做的:脚本生成一个随机密码,$1=密码长度,$2=输出中出现的特殊字符的数量。
或者至少,在发送到标准输出之前验证至少存在 1 个特殊字符。我更喜欢前者,但满足于后者。
这是我非常简单的该脚本的第 5 版。它没有验证,或 2 美元:
#!/bin/bash
cat /dev/urandom | tr -dc [=!=][=@=][=#=][=$=][=%=][=^=][:alnum:] | head -c $1
这工作得很好,它是一个足够安全的密码用法:
$ passgen 12
2ZuQacN9M@6!
但是,当然,它并不总是打印特殊字符,现在让我能够选择输出中存在多少特殊字符已成为一种痴迷。这并不像我想象的那么容易。
说得通?
顺便说一句,我不介意完全重写代码,我很想看到一些创造性的解决方案!
(顺便说一句:我尝试以各种方式将它通过管道传输到 egrep/grep 中,但无济于事,但我觉得这是一个可能的解决方案......)
谢谢凯文