Использование ожиданий для автоматизации установки 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 должен работать.

0 ответов

Другие вопросы по тегам