SFTP使用Expect

时间:2015-04-19 01:34:16

标签: linux shell sftp expect

我已经使用bash脚本尝试了下面的脚本到SFTP。但它不起作用。密码总是出错。

/usr/local/bin/expect <<EOF
spawn sftp PG1@dev1.dummy.com
expect "Password:"
send "abc123\r"
expect "sftp>"
send "cd /tmp\r"
send "get Data.dat\r"
send "get List.dat\r"
send "bye\r"
EOF

这是我在收到响应者的所有建议后运行上述脚本时的日志文件。

######### StartJob #########
Sun Apr 19 09:59:08 MYT 2015
spawn sftp PG1@dev1.dummy.com^M
Connecting to dev1.dummy.com...^M
Password: ^M
sftp> ERROR: Data file Data.dat not successfully extracted!
Sun Apr 19 09:59:12 MYT 2015
########## EndJob #########

2 个答案:

答案 0 :(得分:1)

请注意,您希望密码值小写p,但日志显示大写P

答案 1 :(得分:1)

感谢您尝试解决上述问题。我找到了解决方案。这是我做的:

/usr/local/bin/expect <<EOF
spawn sftp PG1@dev1.dummy.com
expect "Password:"
send "abc123\r"
expect "sftp>"
send "cd /tmp\r"
expect "sftp>"
send "get Data.dat\r"
expect "sftp>"
send "get List.dat\r"
expect "sftp>"
send "bye\r"
EOF