У меня есть сценарий в cronjob. Но этот сценарий принимает некоторые пользовательские данные.Как дать пользователю ввод в скрипте cronjob
Как я могу обрабатывать такой случай?
У меня есть сценарий в cronjob. Но этот сценарий принимает некоторые пользовательские данные.Как дать пользователю ввод в скрипте cronjob
Как я могу обрабатывать такой случай?
Если он принимает входные данные от stdin, создайте еще один скрипт, который вызовет ваш скрипт с помощью канала или перенаправления.
#!/bin/sh
/foo/bar/my_command < my_input
Вы также можете запустить его как команду оболочки в вашем кронтаб:
0 * * * * /bin/sh -c "/foo/bar/my_command < my_input"
Измените сценарий, чтобы он не нуждался в пользовательском вводе.
Загрузите скрипт, необходимый для ввода из файла, через <
.
Только в том случае, «ожидается пользовательский ввод» является, случайно, пароль: Не варианта использования 2. Редактирование аутентификации доступа в кронтабе работы являются различными ароматами опасны.
PS: Это предупреждение выше также верно, если вы думаете о expect
, как предложено mvp. Это в основном эквивалент записи вашего пароля на пост-он и прикрепление его к вашему монитору: простота, удобство и небезопасность.