Después de probar muchas cosas, recuperé los datos y reinstalé Ubuntu (esta vez 18.04 ). Ubuntu recién instalado arrancó y permitió el inicio de sesión en el usuario recién creado. Esta no es una respuesta real, por lo tanto, no la aceptaré.
Для этого и предназначена команда yes
. Он выводит y
по одному в строке бесконечно, чтобы его можно было передать командам, которые задают вопросы «да/нет».
yes | /opt/MNG/MNGVIEWHP/fe/uninstall
Это отвечает y
на все вопросы. Чтобы ответить n
на все вопросы, замените yes
на yes n
. Для предопределенного сочетания y
и n
вы можете заменить yes
на :
printf '%s\n' y n n y y n...
Или запустите как:
/opt/MNG/MNGVIEWHP/fe/uninstall << 'EOF'
y
n
n
y
y
n
EOF
Если вам нужно, чтобы ответ был недоступен для чтения в течение 10 секунд, вы должны:
(sleep 10; echo y; sleep 2; echo n;...) | /opt/MNG/MNGVIEWHP/fe/uninstall
Но в этом, вероятно, нет необходимости, когда мы записываем y
в канал, он будет там для uninstall
, чтобы прочитать его, когда он захочет его прочитать, маловероятно, что вам нужно будет его ждать. быть готовым ее прочитать. Исключение будет, если uninstall
решит сбросить ввод перед тем, как задать вопрос.
Все они предполагают, что команда uninstall
просто считывает каждый ответ как одну строку ввода из своего стандартного ввода.
В более сложных случаях, когда команда считывает ответы непосредственно с tty-устройства или когда вам нужно предоставить ответы условно (, например, на основе того, что выводит команда ), вы должны использовать такие вещи, как expect
или zsh
с zpty
.
Обратите внимание, что многие интерактивные программы могут переходить в -неинтерактивный режим при передаче какой-либо опции. Возможно, вы захотите сначала проверить их руководство, прежде чем тратить слишком много усилий на решение проблемы.