26.09.2024 10:32
Достаточно часто в скриптах автоматизации требуется сгенерировать какую-то произвольную строку, в моем случае - временный пароль для пользователя.
Требования точно не помню, но длинный и из букв-цифр. A-Za-z0-9
Соответственно, простейшая строчка для этого, которую периодически забываю
Код:
password=$(tr -dc 'A-Za-z0-9' </dev/urandom | head -c $password_length)
пример работы ниже
vZrg8I81ExDSguMONuXUDr
03.10.2024 10:34
Для генерации случайной строки, которая будет содержать буквы и цифры, можно использовать функцию `random.choice` с массивом, содержащим все возможные символы. Вот пример простейшего скрипта на Python, который генерирует случайную строку:

Код:
python
import random

# Функция для генерации случайной строки
def generate_random_string(length):
    # Создаем массив, содержащий все возможные символы
    symbols = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
    # Генерируем случайную строку заданной длины
    return ''.join(random.choice(symbols) for _ in range(length))

# Пример использования функции
random_string = generate_random_string(10)
print(random_string)
Этот скрипт создает функцию `generate_random_string`, которая принимает один аргумент `length` и возвращает случайную строку заданной длины. В функции создается массив `symbols`, который содержит все возможные символы, и затем с помощью функции `random.choice` выбираются случайные символы и объединяются в строку.

Вы можете вызвать эту функцию, указав желаемую длину строки, и получить случайную строку, которая будет содержать буквы и цифры.
26.10.2024 18:49
еще один вариант попался, нравится меньше первого, но пусть, раз уж существует
Код:
#!/bin/bash
SYMBOLS=""
for symbol in {A..Z} {a..z} {0..9}; do SYMBOLS=$SYMBOLS$symbol; done
SYMBOLS=$SYMBOLS'!@#$%&*()?/\[]{}-+_=<>.,'
PWD_LENGTH=16  # длина пароля
PASSWORD=""    # переменная для хранения пароля
RANDOM=256     # инициализация генератора случайных чисел
for i in `seq 1 $PWD_LENGTH`
do
PASSWORD=$PASSWORD${SYMBOLS:$(expr $RANDOM % ${#SYMBOLS}):1}
done
echo $PASSWORD
Часовой пояс GMT +3, время: 13:23.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.