fix(common): стабильная генерация случайных строк при pipefail

This commit is contained in:
Ruslan
2026-04-14 00:14:43 +03:00
parent 67f28fae49
commit 16030d8e6c

View File

@@ -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}"
}