Я запускаю простой сценарий ожидания, который использует curl для извлечения vagrant dmg, присоединяет его, устанавливает его и проверяет пароль, а затем отключает.
По отдельности все команды выполняются в командной строке и установка выполняется.
Однако при выполнении внутри скрипта он завершается после завершения curl.
#!/usr/bin/expect -f
set timeout 60
exec curl -O https://releases.hashicorp.com/vagrant/2.2.2/vagrant_2.2.2_x86_64.dmg
exec hdiutil attach vagrant_2.2.2_x86_64.dmg
spawn sudo installer -package /Volumes/Vagrant/vagrant.pkg -target /
expect "*?assword" { send “password” }
spawn hdiutil unmount /Volumes/Vagrant
Вывод, который я получаю (сцепленный):
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
1 31.2M 1 563k 0 0 2218k 0 0:00:14 --:--:-- 0:00:01 8873k
97 31.2M 97 30.5M 0 0 9628k 0 0:00:03 0:00:03 --:--:-- 9627k
100 31.2M 100 31.2M 0 0 9668k 0 0:00:03 0:00:03 --:--:-- 9667k
while executing
"exec curl -O https://releases.hashicorp.com/vagrant/2.2.2/vagrant_2.2.2_x86_64.dmg"
(file "./vag" line 9)
В этот момент сценарий завершается.