我从同一个网站上了解到,我们可以在bash脚本中嵌入expect脚本,如下所示:
echo $hostname
/usr/bin/expect -<<EOD
spawn ssh "-o StrictHostKeyChecking no " bmaddi@10.102.238.158
sleep 5
expect "$*"
send -- "scp \"-o StrictHostKeyChecking no\" file user@hostname: \r"
expect "$*"
send -- "exit \r"
expect eof
EOD
当我尝试执行上面的脚本登录到另一台主机并在那里做一些东西然后回到原来的主机时,我面临以下错误:
无效的命令名称“EOD” 执行时 “EOD” 。它没有认识到EOD是期望脚本使用的结束,因此突然在那里结束。有人可以为这个问题建议一个解决方案。
提前谢谢。