Как передать ввод с клавиатуры в команду Linux?

Я запускаю команду linux, которая иногда запрашивает ввод пользователя (нажмите 1 или 2).

Я всегда хочу ответить 1, как я могу передать это значение автоматически?

3 ответа

Решение

Используйте трубу | оператор для подключения выхода одной команды к входу другой.

echo 1 | command

Если вы хотите повторить некоторый ввод в команду, вы можете использовать yes, По умолчанию он отправляет строку "y" несколько раз, но также повторяет другую строку по вашему выбору.

yes | cp * /tmp  # Answer "y" to all of cp's "Are you sure?" prompts.
yes 1 | command  # Answer "1" repeatedly until the command exits.

Просто мысль:

echo "1" | linux_command --with-arguments <&0

Это работает для команд, которые хотят вводить из stdin, потому что 0 является дескриптором для стандартного ввода. Этот вопрос может лучше относиться к Server Fault, однако...

yes 1 | command
Другие вопросы по тегам