在我的终端上重播击键的最佳方法是什么?

在我的终端上重播击键的最佳方法是什么?

我发现自己必须执行一系列操作ssh才能到达特定主机。我现在所做的就是将命令一个接一个地复制并粘贴到终端中,就像机器一样。我想知道是否有办法将这些固定命令重播到我的终端中。

我确实使用过tmux,而且我知道tmux send;但我希望“智能地”执行此操作,即在发送下一个 ssh 命令之前等待提示。我也知道expect,但我见过的用法是终端spawn在脚本内运行并从脚本内进行交互 — 生成的终端随 expect 脚本一起消失。

最理想的情况是,我可以expect在打开的终端上执行该操作。有办法做到这一点吗,或者还有其他方法吗?

答案1

我最终使用了expectinteract命令,正如上面的评论之一所提到的。一般模板如下:

spawn ssh ...
send "some keys"
expect {
  ...
}
interact

相关内容