Как передать ввод с клавиатуры в команду 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, однако...