Случайная польза от ИИ
2025-01-06 16:59![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Пишу тестики по работе, понадобилось случайное число в некотором диапазоне. Думаю, дай спрошу у искусственного интеллекта, благо под рукой. Как в Линуксе получить случайное целое число из командной строки? Ответ порадовал: три варианта на выбор, все доселе мне неизвестные. Причём на маке ровно так же работает.
(1) Из bash:
(3) Командой openssl можно создать криптографически надёжное случайное число:
(1) Из bash:
Если нужно число в диапазоне MIN-MAX, делаем:echo $RANDOM
(2) Командой shuf:echo $(( RANDOM % (MAX - MIN + 1) + MIN ))
Если требуется несколько чисел, единичку заменяем на количество.shuf -i MIN-MAX -n 1
(3) Командой openssl можно создать криптографически надёжное случайное число:
Тут генерятся четыре случайных байта, преобразуются в беззнаковое целое и отображаются в десятичном виде.openssl rand -hex 4 | xxd -r -p | head -c 4 | od -An -tu4
no subject
Date: 2025-01-07 01:26 (UTC)no subject
Date: 2025-01-07 08:15 (UTC)no subject
Date: 2025-01-07 01:40 (UTC)это не совсем случайное число.
no subject
Date: 2025-01-07 01:42 (UTC)no subject
Date: 2025-01-07 17:23 (UTC)Поделите с остатком на 7, например.
Распределение перестанет быть равномерным.
no subject
Date: 2025-01-07 23:36 (UTC)no subject
Date: 2025-01-07 02:45 (UTC)no subject
Date: 2025-01-07 07:58 (UTC)no subject
Date: 2025-01-07 06:00 (UTC)[ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo *Click*
no subject
Date: 2025-01-07 08:18 (UTC)no subject
Date: 2025-01-07 07:24 (UTC)no subject
Date: 2025-01-07 08:13 (UTC)no subject
Date: 2025-01-07 08:28 (UTC)no subject
Date: 2025-01-07 14:00 (UTC)no subject
Date: 2025-01-07 08:40 (UTC)no subject
Date: 2025-01-08 07:26 (UTC)"With Linux kernel 3.16 and newer, the kernel itself mixes data from hardware random number generators into /dev/random on a sliding scale based on the definable entropy estimation quality of the HWRNG."
https://en.wikipedia.org/wiki//dev/random
no subject
Date: 2025-01-07 13:26 (UTC)no subject
Date: 2025-01-08 07:21 (UTC)no subject
Date: 2025-01-09 04:39 (UTC)