我试着用这个期望,但它不起作用:它最后关闭了连接.
我们可以通过ssh运行脚本,它将登录到远程机器,运行命令,而不是断开连接吗?
所以ssh在一台机器上,cd到这样一个目录,然后运行命令,并保持登录状态.
-Jonathan
(期待我用过)
#!/usr/bin/expect -f set password [lrange $argv 0 0] spawn ssh root@marlboro "cd /tmp; ls -altr | tail" expect "?assword:*" send -- "$password\r" send -- "\r" interact
解决方法
添加一个; / bin / bash到远程端命令行的末尾?那是:
spawn ssh -t root@marlboro "cd /tmp; ls -altr | tail; /bin/bash -i"
更好的是,将root的.bashrc更改为:
PROMPT_COMMAND="cd /tmp && ls -altr | tail ; unset PROMPT_COMMAND"
原文链接:https://www.f2er.com/linux/402896.html