リモートサーバーへのsftp接続を開き、シェルから同じ行でsftpコマンドを実行する可能性はありますか?.
このようなもの:
sftp [email protected] && put /tmp/test.txt /tmp/
ここで、putはsftpコマンドです。
私の考えは、リモートサーバーでsftpのみが許可されているbashスクリプトからローカルサーバーからリモートサーバーにファイルを配置することです。
アプローチ1:
echo "put /tmp/test.txt /tmp/" | sftp [email protected]
アプローチ2:
-b
オプションを使用します。
-bバッチファイル
バッチモードでは、stdinの代わりに入力バッチファイルから一連のコマンドを読み取ります。ユーザーとの対話がないため、非対話型認証と組み合わせて使用する必要があります。
-' may be used to indicate standard input. sftp will abort if any of the following commands fail: get, put, rename, ln, rm, mkdir, chdir, ls, lchdir, chmod, chown, chgrp, lpwd, df, symlink, and lmkdir. Termination on error can be suppressed on a command by command basis by prefixing the command with a
- '文字のバッチファイル(たとえば、-rm/tmp/blah *)。