【发布时间】:2022-01-01 16:06:25
【问题描述】:
我曾经能够使用以下行从/dev/urandom 生成随机字符序列:
cat /dev/urandom | LC_CTYPE=C tr -dc 'a-zA-Z0-9-_!@#$%^&*()_+{}|:<>?=' | fold -w 100 | head -n 1 | grep -i '[!@#$%^&*()_+{}|:<>?=]' | tr '[a-m][n-z][A-M][N-Z]' '[n-z][a-m][N-Z][A-M]'
但在我升级到 Monterey 后,这不再起作用。我收到的输出无非是Input error。这个操作系统版本有什么变化吗?我现在如何从 /dev/urandom 生成 100 个随机字符的序列?
【问题讨论】:
-
tr命令由于某种原因没有删除控制字符,因此fold无法解析其输入(我假设它正在尝试将其读取为 UTF-8)。 -
您可以添加
LC_COLLATE=C或使用GNU tr。
标签: bash macos random macos-monterey