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

Имитация нажатия ENTER в bash script

Я создал действительно простой bash script, который запускает несколько команд. одна из этих команд требует ввода пользователя во время выполнения. то есть спрашивает пользователя "хотите ли вы blah blah blah?", я хочу просто отправить вводное нажатие на это, чтобы script полностью автоматизировался.

Мне не нужно ждать ввода или чего-либо во время выполнения, достаточно его просто отправить нажатие клавиши, и буфер ввода будет обрабатывать остальные.

4b9b3361

Ответ 1

echo -ne '\n' | <yourfinecommandhere>

или воспользоваться неявным переводом строки, который генерирует эхо (спасибо Марсину)

echo | <yourfinecommandhere>

Теперь мы можем просто использовать --sk:

--sk, --skip-keypress Не ждите нажатия клавиш после каждого теста

т.е. sudo rkhunter --sk --checkall

Ответ 2

Вы можете найти полезную команду yes.

См. man yes

Ответ 3

Вы можете просто использовать yes.

# yes "" | someCommand

Ответ 4

Ниже приведен пример использования expect:

#!/usr/bin/expect
set timeout 360
spawn my_command # Replace with your command.
expect "Do you want to continue?" { send "\r" }

Проверьте: man expect для получения дополнительной информации.

Ответ 5

Вы можете использовать expect (man expect поставляется с примерами).