Я вызываю ожидаемый скрипт из bash-скрипта внутри цикла для использования многопоточности. Ожидаемый сценарий выполняет вход в ssh и вызывает сценарий python с помощью команды nohup для перезапуска хоста.
Но после завершения перезапуска элемент управления не возвращается в сценарий bash.
Код сценария оболочки:
for host in ${hosts[@]};
do
./b.exp $id $pswd $host &
done
wait
echo "Completed"
Ожидается код сценария:
set timeout -1
spawn ssh <server login>
send "nohup /loc/c.py $host\r"
send -- "exit\r"
expect eof
Я ожидаю, что после завершения перезапуска всех хостов скрипт должен вывести «Completed».
Но он ничего не печатает, и мне нужно вручную завершить выполнение.
Может кто-нибудь сказать, что я здесь не так делаю?