Моделирование нажатия клавиши ENTER в скрипте bash
Я создал очень простой скрипт bash, который запускает несколько команд. одна из этих команд требует ввода пользователем во время выполнения. Я. e он спрашивает пользователя " вы хотите бла-бла-бла?", Я хочу просто отправить нажатие клавиши enter на это, чтобы скрипт был полностью автоматизирован.
Мне не придется ждать ввода или чего-либо во время выполнения, достаточно просто отправить нажатие клавиши, а входной буфер обработает остальное.
5 ответов
echo -ne '\n' | <yourfinecommandhere>
или воспользоваться неявной новой строкой, которую генерирует echo (спасибо Marcin)
echo | <yourfinecommandhere>
вот пример использования expect
:
#!/usr/bin/expect
set timeout 360
spawn my_command # Replace with your command.
expect "Do you want to continue?" { send "\r" }
проверка: man expect
для получения дополнительной информации.
вы могли бы использовать ожидал (человек ожидал поставляется с примерами).