fix(common): стабильная генерация случайных строк при pipefail
This commit is contained in:
@@ -227,5 +227,14 @@ sanitize_name() {
|
||||
|
||||
random_alnum() {
|
||||
local len="${1:-20}"
|
||||
tr -dc 'A-Za-z0-9' </dev/urandom | head -c "$len"
|
||||
local out=""
|
||||
while ((${#out} < len)); do
|
||||
# openssl выдает конечный блок данных, что безопасно для pipefail
|
||||
# и не приводит к SIGPIPE как в схеме с head/tr от /dev/urandom.
|
||||
out+="$(
|
||||
openssl rand -base64 48 2>/dev/null \
|
||||
| tr -dc 'A-Za-z0-9'
|
||||
)"
|
||||
done
|
||||
printf '%s' "${out:0:len}"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user