使用expect登录,复制文件和退回服务器

时间:2014-07-10 04:24:57

标签: bash shell

我需要登录远程机器,停止服务器,从一个文件夹复制文件然后启动服务器。 我写过脚本,但登录后似乎无法正常工作。

spawn ssh papp95@bt781.com
expect "password"
send "12345\r"
interact return
cp p1 p2
stopserver
statserver

我无法继续前进,任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

我曾用wise_ssh代替expect来替换sshpass

function wise_ssh
{
    passwd=$1
    cmd=${@:2}
    expect -c "set timeout 5;
            spawn ${cmd};
            expect *assword:*;
            send ${passwd}\r;
            interact;"
}

你可以像这样使用它:

wise_ssh 12345 ssh papp95@bt781.com "cp p1 p2"