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

max*_*mus 2 shell expect

我想编写一个可以执行某些任务的Expect脚本,最后更改目录并将控制权交给用户。我尝试使用

spawn cd path\to\dir interact

但我仍然在同一目录中。任何有关如何使用Expect实现此目标的线索?

Gif*_*per 5

要在Expect脚本中更改目录,您不需要使用关键字“ spawn”,没有该关键字它可以工作。您可能会有些困惑,因为在执行脚本的终端中,您将停留在同一目录中,但是脚本更改了其执行操作的目录。

  • 很好的答案@GitZwergrapper - 正是我正在寻找的。只需输入“cd <local-directory-path>”即可切换目录。除非您使用“生成”然后进行交互,否则这可能并不明显。谢谢 (2认同)

pyn*_*exj 5

我想你已经spawn ed 一些命令(如sshbash)并且spawn ed 命令仍在运行。然后最后你可以这样做:

send "cd /some/dir\r"
interact
Run Code Online (Sandbox Code Playgroud)