gpt4 book ai didi

bash - 在 shell 中生成带有一个特殊字符的随 secret 码

转载 作者:行者123 更新时间:2023-12-05 01:02:39 27 4
gpt4 key购买 nike

我有以下代码:

</dev/urandom tr -dc 'A-Za-z0-9@#$%&_+=' | head -c 16

完美随机生成密码。

我想要两个改变:

  1. 它应该只包含上面列出的一个特殊字符
  2. 它应该选择一个随机长度

我试过 length = $(($RANDOM%8+9))

然后把长度设为

</dev/urandom tr -dc 'A-Za-z0-9@#$%&_+=' | head -c$length

但没有得到阳性结果。

最佳答案

#! /bin/bash
chars='@#$%&_+='
{ </dev/urandom LC_ALL=C grep -ao '[A-Za-z0-9]' \
| head -n$((RANDOM % 8 + 9))
echo ${chars:$((RANDOM % ${#chars})):1} # Random special char.
} \
| shuf \
| tr -d '\n'
  • LC_ALL=C 防止像 ř 这样的字符出现。
  • grep -o 仅输出匹配的子字符串,即单个字符。
  • shuf 打乱行。我最初使用sort -R,但它把相同的字符放在一起(ff1@22MvbcAA)。

关于bash - 在 shell 中生成带有一个特殊字符的随 secret 码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30947873/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com