我需要将文件从一台服务器传输到另一台服务器。我使用RCP命令执行相同的操作并且工作正常。请在下面找到代码:
rcp tst.txt usrname@hostname:/home/username/destination_folder
我尝试使用Expect命令自动执行相同操作,因此创建了下面提到的shell脚本:
#!/bin/bash
/usr/bin/expect -d<<EOD
spawn rcp tst.txt usrname@hostname:/home/username/destination_folder
expect "*userid@hostname's password:*"
send "mypassword\n"
EOD
我执行shell脚本时没有收到任何错误,但文件没有传输。有人可以帮我弄清问题是什么吗?
我通过密钥生成尝试了密码减少,但没有运气,所以我尝试了RCP方法。
先谢谢, 维杰
答案 0 :(得分:0)
发送密码后,请等待rcp
完成{期待eof
。
send "mypassword\r"
expect eof
如果没有密码,那么,在产生rcp
之后,期待eof
。