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"putoutput / data.xml\r"とecho"quit\ r"の行は、テキストとして出力されるだけです。これはまったく驚くべきことではありませんが、他に何が機能するかはわかりません。