使用 Expect 的 SFTP

SFTP using 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 #########

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

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

/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