我刚刚在使用Expect的SFTP连接期间自动输入密码方面获得了一些帮助。
然后我尝试发出一个 put 命令,事情又变得复杂起来。我正在使用以下代码:
#!/usr/bin/expect
#!/bin/sh
expect -c "
spawn sftp remoteuser@*.*.*.*
expect \"remoteuser@*.*.*.*'s password:\"
send \"passwrd\r\"
interact "
echo "put output/data.xml\r"
echo "quit\r"
我的密码输入和与远程服务器的连接工作正常,但我很难让put output/data.xml命令在 SFTP 提示符下显示和执行。
我的echo "put output/data.xml\r"和echo "quit\r"行只是打印为文本,这并不完全令人惊讶,但我真的不知道还有什么可能起作用。