Я пытаюсь использовать функцию обработки для обработки rsync через оболочку ssh, но она застряла.
Если я запускаю команду rsync, она работает (здесь упрощенно): она запрашивает мой пароль и копирует файлы на сервер:
rsync -e ssh -<other_params>
Если я тогда приложу это к ожидаемому:
expect -d -c "spawn rsync -e ssh -<other_params>" -c "expect password:" -c "send mypass\r"
Он не выполняется должным образом, программа существует и файлы не копируются. Даже режим отладки не дает много подсказок.
Мое лучшее предположение заключается в том, что rsync порождает процесс ssh, а процесс ssh - это то, с чем нужно взаимодействовать, но send выбирает идентификатор процесса rsync и отправляет туда ввод.
Какие-нибудь мысли?