質問: ssh経由でstdoutをリダイレクトする 走りたいsomething > file sshを介してリモートシステムで、しかし私が実行した場合ssh host something > file リダイレクトはssh etc > fileとしてローカルで実行されます代わりに'または''またはddまたはパイプ|を使用して試しましたが、機能しません。これはどのように行うことができますか?
回答: 試してください:ssh host 'something > file' これは、リダイレクト、パイプ、および引用符を処理する方法の考案されたデモです。ssh host date -d yesterday \| awk "'{print $1}'" \> 'file" "with\ spaces.out' パイプとリダイレクトは、引用符の全体的な外部セットに含まれるのではなくエスケープされるため、引用符の1つのレベルをエスケープする必要がなくなります。 awkコマンドの単一引用符は、それらを囲む二重引用符で保護されています。ファイル名も同じ方法で保護できますが、ここでは、単一引用符が二重引用符とエスケープをどのように保護するかを示します。