Я использую здесь документы в скрипте bash для автоматизации установки и настройки, где пароль требуется много раз. Я ввожу пароль один раз, и скрипт передает его различным командам. В большинстве случаев подход здесь-документа справляется с этим штрафом. Однако в одном случае я получаю эту ошибку:
Enter VNC password: stty: standard input: Inappropriate ioctl for device
Verify password:
stty: standard input: Inappropriate ioctl for device
Обратите внимание, что это сообщение об ошибке от x11vnc -storepassword(не от sudo.)
Моя проблема связана с x11vnc -storepasswdвот моим кодом:
sudo x11vnc -storepasswd ~/.vnc/passwd << ENDDOC
password
password
y
ENDDOC
Это очевидно (из ошибки) не работает. Я был бы признателен за рабочий пример того, как реализовать sudo x11vnc -storepasswd ~/.vnc/passwdв сценарии.
Если это помогает, подсказки выглядят так:
Введите пароль VNC: Подтвердите
пароль:
Напишите пароль в /home/user/.vnc/passwd? [у] / пп
Будет ли использование expectлучшим решением? Если так, как бы я использовал это в этом случае? (Я никогда не использовал expectраньше, но с момента публикации этого вопроса я просмотрел много примеров, и я не могу приступить expectк работе самостоятельно.)
sudoона исходит отx11vnc -storepassword. Я пробовал разныеexpectподходы, и я не могу понять это правильно. Был бы очень признателенexpectза пример использования пароля дляx11vnc -storepassword. Я обновлю свой вопрос, чтобы избежать дальнейшей путаницы.