Подтвердить что ты не робот

Как сделать script ответ "да" для установки программ?

Я работаю с экземплярами Amazon Linux, и у меня есть несколько сценариев для заполнения данных и установки всех программ, с которыми я работаю, но несколько программ спрашивают:

Do you want to continue [Y/n]?

и приостановите установку. Я хочу, чтобы во всех случаях автоматически отвечать на "Y", теперь я точно знаю, как это сделать.

4b9b3361

Ответ 2

echo y | command должен работать.

Кроме того, некоторые установщики имеют флаг "auto-yes". Он -y для apt-get на Ubuntu.

Ответ 3

У вас может не быть возможности установить Expect на целевом сервере. Это часто тот случай, когда кто-то пишет, скажем, работу Дженкинса.

Если это так, я хотел бы рассмотреть что-то вроде ответа на следующий вопрос на askubuntu.com:

https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line

printf 'y\nyes\nno\nmaybe\n' | ./script_that_needs_user_input

Обратите внимание, что в некоторых редких случаях команда не требует, чтобы пользователь нажимал ввод после символа. в этом случае оставьте символы новой строки:

printf 'yyy' | ./script_that_needs_user_input

Для полноты картины вы также можете использовать здесь документ:

./script_that_needs_user_input << EOF
y
y
y
EOF

Или, если ваша оболочка поддерживает строку здесь:

./script <<< "y
y
y
"

Или вы можете создать файл с одним вводом на строку:

./script < inputfile

Опять же, вся заслуга в этом ответе принадлежит автору ответа на askubuntu.com, Lesmana.

Ответ 4

Хотя это может быть сложнее/тяжелее, чем вы хотите, один очень гибкий способ сделать это - использовать что-то вроде Expect (или одно из производных в другом языке программирования).

Expect - это язык, разработанный специально для управления текстовыми приложениями, и это именно то, что вы хотите сделать. Если вам в конечном итоге понадобится сделать что-то более сложное (например, с помощью логики, чтобы фактически решить, что делать/ответить дальше), Expect - это путь.

Ответ 5

Если вы хотите просто принять значения по умолчанию, вы можете использовать:

\n | ./shell_being_run

Ответ 6

Вам просто нужно поставить -y с помощью команды установки.

Например: yum install <package_to_install> -y