ssh - ホストのエラーをクライアントのファイルにリダイレクトする方法

ssh - ホストのエラーをクライアントのファイルにリダイレクトする方法

SSHを使用して、次のbashスクリプトでホストのコマンドを実行しています。

ssh pi@rasp 'rm /home/pi/webcam/rmtest.txt' || \
{ echo "remove  failed" > $log;  }

ホストにエラーがない場合は、期待どおりに動作します。この場合、クライアントにリダイレクトされます。

rm: cannot remove ‘/home/pi/webcam/rmtest.txt’: No such file or directory

そのエラーメッセージをクライアントのファイルにリダイレクトしたいのですが、方法がわかりません。

私は配置しようとしました:

>$ログ2>&1

他の場所では動作しますが、何も動作しません。

変数 $log:

pi@raspsky:~/webcam $ echo $log
/home/pi/webcam/condtest.log

ベストアンサー1

ssh pi@rasp 'rm /home/pi/webcam/rmtest.txt' 2> $log

sshはリモートのstdin、stdout、およびstderr記述子をローカル記述子に接続するため、必要に応じてローカルstderrをリダイレクトするだけです。

おすすめ記事