Как генерировать список месяцев с использованием Bash?

Вы можете сделать это, создав файл-заполнитель, когда система должным образом завершена или инициирована пользователем перезагрузка (инициализация 0 или 6). Запустите сценарий запуска (init 3 или 5), который проверяет наличие файла. Если он отсутствует, значит, он не отключился должным образом. Если файл действительно существует (т.е. система нормально завершила работу или перезагрузилась), просто удалите файл блокировки.

Просто убедитесь, что вы не записываете файл-заполнитель в каталог, который смонтирован в памяти (/ dev / shm, / var / run и т. Д.) Или / tmp, так как эти каталоги будут очищены, когда система перезагружается.

1
10.11.2018, 11:23
2 ответа

Вам нужна программа expect. То, что вам нужно сделать, это основное использование этого.
Вы используете autoexpectдля создания записи использования вашей программы.

В записи находится скрипт в (tcl ), который может запускать ваш скрипт, включая ввод пароля.

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

Вы должны легко найти примеры использования для вашего случая.

2
28.01.2020, 00:24

Да, в скрипте можно ссылаться на аргументы с помощью позиционных переменных.

ЭГ-

#!/bin/bash

if [ $# -ge 1 ]
then
  echo First argument is $1
fi

Вызовите его с помощью ./my_script argument1...

Таким образом, вы можете использовать $1через $9, а если вам нужно больше 9, вы можете использовать shift, чтобы, ну... переместить их.

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

-1
28.01.2020, 00:24

Теги

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