我需要登录远程机器,停止服务器,从一个文件夹复制文件然后启动服务器。 我写过脚本,但登录后似乎无法正常工作。
spawn ssh papp95@bt781.com
expect "password"
send "12345\r"
interact return
cp p1 p2
stopserver
statserver
我无法继续前进,任何帮助将不胜感激
答案 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"