TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #33 6.24K
День сегодня такой длинный, жаркий (+37)... Надеюсь у тебя дела обстоят с этим попроще.

Поэтому простыней и сложных штук делать не будем, довольствуемся малым, но как обычно полезным.

Давай напишем генератор псевдослучайных чисел. Пригодится для создания всяких секретиков и айдишников в твоих bash скриптах.

Опа, опа и готово! А ты думал? 😊

echo $(tr -dc 0-9A-Za-z < /dev/urandom | head -c 16)

На выходе получаем нечто подобное из 16ти символов:

IioP0zmnPTBOuHqI
xhqohdWb0r94w7di
yMVEHwU0DCTYaGCq
KbLwMB7Iqb28Ud4T

Ты в праве поменять 0-9A-Za-z и оставить к примеру только цифры 0-9, ну и соотвественно указать длину получаемой строки -c 16.

Короче, запрашиваем у устройства /dev/urandom данные (16 случайных символов), скармливаем их tr, приводим в должный вид и получаем ожидаемый результат. Красота!

Ну и кому интересно, маленько теории по tr и urandom

Команда tr (translate) используется в Linux в основном для преобразования и удаления символов. Она часто находит применение в скриптах обработки текста. Ее можно использовать для преобразования верхнего регистра в нижний, сжатия повторяющихся символов и удаления символов.

Устройство /dev/urandom это генератор псевдослучайных чисел. Псевдослучайность urandom зависит от системы. Во многих случаях random и urandom генерируют символы по одному и тому же алгоритму.

Чтение данных устройства /dev/urandom возвратит столько байтов, сколько было запрошено.

Ну и по ключам tr которые использовались.

-c - удалить все символы, кроме тех, что в первом наборе
-d - удалить символы из первого набора

Чтобы это ни значило, это работает. Просто используй 😊!

tags: #linux #bash
—
🟢 Подпишись: @bashdays
  • 👍 90
More from @bashdays
  1. Oct 4, 2026Архивирование и хранение. Часть 2/4. Всем привет, с вами снова TagdTagd. Первая часть тут:…
  2. Sep 29, 2026Самый жаркий холивар в команде — это не systemd, а какие заказать роллы на всю команду. Од…
  3. Sep 24, 2026Post #1565
  4. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  5. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
  6. Sep 15, 2026Всем привет, с вами TagdTagd. И это вторая часть. Практическая. С первой частью можешь озн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →