SFTP はエラーを除くすべてのメッセージを表示しません。

SFTP はエラーを除くすべてのメッセージを表示しません。

bashスクリプトでsftpだけを使用して、ローカルシステム上のファイルをFTPサーバーに「ドロップ」したいと思います。

エラーを除くすべてのメッセージを抑制したいです。

sftp $user@$server 2>&1 1>/dev/null <<EOF
put $local_file_path $remote_file_path
EOF

成功した場合のコマンド出力:

Connecting to <server>...

なぜまだ受け取ることができますか?

ベストアンサー1

Connecting to <server>...それはおそらく、ファイル記述子2(stderr)に転送したからです。ファイル記述子1(stdout)と2(stderr)の唯一の違いは、前者が次のようになることです。伝統的に一般的なメッセージに使用され、後者は伝統的にデバッグやエラー出力に使用されます。ただし、プログラムはあるチャンネルまたは別のチャンネルに入る内容を決定するため、ある出力または別の出力をリダイレクトできますが、印刷する場所を決定することはできません。たとえば、エラーがstderrにのみ送信されるように強制することはできません。

おすすめ記事