如何使用 expect 脚本更改当前工作目录?

How to change current work directory using expect script?

我想写一个 expect 脚本,它可以完成一些任务,最后更改目录并将控制权交给用户。我尝试使用

spawn cd path\to\dir interact

但我仍在同一目录中。 关于如何使用 expect 完成此操作的任何线索?

要在 expect 脚本中更改目录,您不需要使用关键字 "spawn" 没有它也可以。 你可能有点困惑,因为在终端中,你正在执行脚本,你会留在同一个目录中,但是脚本改变了它正在执行的目录。

我想你已经 spawn 编辑了一些命令(比如 sshbash) 并且 spawned 命令仍然是 运行。然后最后你可以这样做:

send "cd /some/dir\r"
interact