Использование ожиданий для автоматизации установки Alpine Linux во FreeBSD в Bhyve
Я пытаюсь автоматизировать установку Alpine Linux в vm-bhyve под FreeBSD и ожидаю, что завершится вскоре после истечения времени ожидания меню загрузки и запуска установки Alpine Linux.
#!/usr/bin/env expect
spawn vm install -f alpine alpine.iso # shortened for brevity
expect "localhost login:"
send "root\r"
...
Это приводит к следующей ошибке:
"while executing
"send "root\r"
Я подозреваю, что всякий раз, когда экран проясняется и начинается загрузка, это сбивает с толку: можно подумать, что программа завершена? И, как следствие, скрипт умирает.
Я никогда раньше не кодировал ожидание таким образом, возможно ли это сделать с ожиданием?
Я также попытался установить глобальный тайм-аут перед запуском cmd установки виртуальной машины, который загружается и сразу переходит в консоль для гостя, но это ничего не изменило, поэтому я исключил его из приведенного выше сценария. Сон на одном и том же месте не помог, просто задержал загрузку (и последующий сбой на установленное мной время сна).
РЕДАКТИРОВАТЬ: я пытаюсь запустить установщик в фоновом режиме, спать 30 секунд, а затем подключить консоль. На этом этапе Expect должен работать.