Я работаю с инстансами Amazon Linux, и у меня есть пара скриптов для заполнения данных и установки всех программ, с которыми я работаю, но пара программ спрашивает:
Do you want to continue [Y/n]?
и приостановите установку. Я хочу автоматически отвечать "Y" во всех случаях, я просто теперь знаю, как это сделать.
--noprompt
или, который--noconfirm
вы можете использовать.Ответы:
Команда «да» будет повторять эхо «y» (или как вам угодно) бесконечно. Используйте это как:
или, если требуется заглавная буква «Y»:
источник
yes
как это известно, чтобы максимально использовать процессор. stackoverflow.com/a/18164007/720665-y
сценариев bash был ТРУДНО./dev/null
или STDOUT. Переданный команде по конвейеру, он будет записывать в конвейер только одну строку каждый раз, когда принимающая команда считывает ее, и будет ждать в противном случае.echo y | command
должно сработать.Кроме того, у некоторых установщиков есть флаг «авто-да». Это
-y
дляapt-get
Ubuntu.источник
-f
(--force
) флаг , который работает как «авто-да» для команд , которые что - то удалитьУ вас может не быть возможности установить Expect на целевом сервере. Это часто бывает, когда кто-то пишет, скажем, работу Дженкинса.
Если это так, я бы рассмотрел что-то вроде ответа на следующий вопрос на askubuntu.com:
/ubuntu/338857/automatically-enter-input-in-command-line
Обратите внимание, что в некоторых редких случаях команда не требует, чтобы пользователь нажимал клавишу ввода после символа. в этом случае оставьте символы новой строки вне строки:
Для полноты вы также можете использовать здесь документ:
Или, если ваша оболочка поддерживает это, строку здесь:
Или вы можете создать файл с одним вводом в строке:
Опять же, вся заслуга в этом ответе принадлежит автору ответа на askubuntu.com , lesmana.
источник
Хотя это может быть сложнее / тяжелее, чем вы хотите, один очень гибкий способ сделать это - использовать что-то вроде Expect (или одну из производных на другом языке программирования).
Expect - это язык, разработанный специально для управления текстовыми приложениями, и это именно то, что вам нужно. Если вам нужно сделать что-то более сложное (например, с логикой, чтобы решить, что делать / ответить дальше), Expect - это то, что вам нужно.
источник
Просто нужно поставить
-y
с помощью команды установки.Например:
yum install <package_to_install> -y
источник
Если вы хотите просто принять значения по умолчанию, вы можете использовать:
источник
bash
,sh
и самой системы, которую я знаю, что вам нужноecho
в\n
противном случае она не будет транспортироваться к следующей команде.