То, что Вы описываете, похоже на эту ошибку, о которой сообщают.
yes
разработан с этой целью; это производит ту же строку к stdout непрерывно, таким образом, можно передать его по каналу в другой сценарий, и это будет продолжать отвечать на то же для каждой подсказки. Это принимает значение по умолчанию к y
таким образом, это может сказать "да" подсказкам, но если Вы просто хотите, чтобы это отправило новой строке каждый раз, когда можно передать его пустая строка как аргумент:
$ yes '' | vmware-script
Или исправьте источник, чтобы иметь значение по умолчанию, или использовать здесь документ или здесь представить в виде строки для отправки входа в сценарий stdin
:
./script << EOF
answer 1
answer 2
...
answer N
EOF
Определенные программы не могут принять это (обычно, обрабатывающие аутентификацию, которая может отключить это в целях безопасности). В этом случае изучите использование чего-то как expect
.
yes ""
будет также работать – Michael Mrozek♦ 20.09.2011, 20:50