我发现自己必须执行一系列操作ssh
才能到达特定主机。我现在所做的就是将命令一个接一个地复制并粘贴到终端中,就像机器一样。我想知道是否有办法将这些固定命令重播到我的终端中。
我确实使用过tmux
,而且我知道tmux send
;但我希望“智能地”执行此操作,即在发送下一个 ssh 命令之前等待提示。我也知道expect
,但我见过的用法是终端spawn
在脚本内运行并从脚本内进行交互 — 生成的终端随 expect 脚本一起消失。
最理想的情况是,我可以expect
在打开的终端上执行该操作。有办法做到这一点吗,或者还有其他方法吗?
答案1
我最终使用了expect
的interact
命令,正如上面的评论之一所提到的。一般模板如下:
spawn ssh ...
send "some keys"
expect {
...
}
interact