【发布时间】:2019-06-02 02:26:18
【问题描述】:
我正在使用其中的多线程从 bash 脚本内部的 for 循环中调用期望脚本。期望脚本执行 ssh 登录并使用 nohup 命令调用 python 脚本以重新启动主机。 但是,完成重启后,控制并没有返回到bash脚本。
Shell 脚本代码:
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
我期待在所有主机重新启动完成后,脚本应该打印“已完成”。 但是,它没有打印任何东西,我需要手动退出执行。
有人可以告诉我在这里做错了什么吗?
【问题讨论】: