Можно ли запустить `guix deploy` в других дистрибутивах Linux?

evalничего не сделает, так как $randompasswdпусто.

Вы устанавливаете randompasswdс помощью

randompasswd=$(cat /dev/urandom | tr -dc '1-9' | fold -w 1 | head -n 1 > $oncepass)

Команда внутри $(...)не производит вывода (, поскольку вместо этого вывод перенаправляется в файл ), поэтому $randompasswdбудет пустой строкой.

Это хорошо, потому что я полагаю, что вы на самом деле не хотите запускать evalна случайной строке символов?

Кроме того, существует ряд раскрытий переменных без кавычек, которые следует заключать в двойные кавычки, например $onlytailв выраженииif-(, если оно содержит пробелы, там будет синтаксическая ошибка ).

Больше я ничего не могу сказать, так как не знаю, что вы хотите делать с этим кодом.

Для создания потока паролей, состоящего из 12 буквенно-цифровых символов:

tr -dc '[:alnum:]' </dev/urandom | fold -w 12

Чтобы выбрать первый из них:

tr -dc '[:alnum:]' </dev/urandom | fold -w 12 | head -n 1

Если вы хотите сгенерировать 100 уникальных паролей (и убедиться, что они уникальны):

while true; do
    tr -dc '[:alnum:]' </dev/urandom | fold -w 12 | head -n 100 | sort -u -o password.list
    if [ "$( wc -l <password.list )" -eq 100 ]; then
        break
    fi
done

Это сначала генерирует 100 паролей и сортирует их (удаляя дубликаты ). Затем он проверяет, содержит ли результирующий файл 100 строк. Если нет, то все повторяется снова, иначе выходит из цикла. Файл password.listбудет перезаписан, если он существует.

Если у вас есть password.listфайл и вы хотите сгенерировать (и добавить )пароль, которого еще нет в этом файле:

while true; do
    newpassword=$( tr -dc '[:alnum:]' </dev/urandom | fold -w 12 | head -n 1 )
    if ! grep -q -F "$newpassword" password.list; then
        printf 'New password generated: %s\n' "$newpassword"
        printf '%s\n' "$newpassword" >>password.list
        break
    fi
done
0
26.03.2020, 00:14
1 ответ

Нельзя, команда guix deployиспользуется для управления только системой guix (GuixSD ).

Синтаксис:

guix deploy file

file— это система конфигурации файл (объявление операционной системы ).

8.15 Вызов развертывания guix

0
28.04.2021, 23:19

Теги

Похожие вопросы