我正在使用一个 expect 脚本连接到 Windows 机器并执行一个 ant 脚本。完成后我想删除一个文件并注销。ant 脚本的执行需要将近 30 秒,所以我在 expect 脚本中添加了“sleep 40”。但如果执行时间会更长怎么办?有没有办法让 expect 脚本等待而不使用 sleep 命令?
答案1
是的,当然可以,为什么你看不到脚本完成后输出到屏幕上的内容?例如:
expect "ssh:/C/remoteWindows/myfolderwithantscript/$"
send "rm a_file.txt"
在哪里ssh:/C/remoteWindows/myfolderwithantscript/是脚本完成后您得到的文本,在 Linux 机器上是这样的:例如 /home/alex/Documents$,然后您发送“rm”命令来删除该文件。
这是我上传文件到 FTP 服务器时的操作。我只需执行
expect "sftp>"
然后继续执行下一步。