回答:
試してください:
ssh host 'something > file'
以下は、リダイレクト、パイプ、引用符を処理する方法の不自然なデモンストレーションです。
ssh host date -d yesterday \| awk "'{print $1}'" \> 'file" "with\ spaces.out'
パイプとリダイレクションは、全体の外側の引用符セットに含まれるのではなくエスケープされ、1レベルの引用符をエスケープする必要性を減らします。AWKコマンドの単一引用符は、それらを囲む二重引用符で保護されています。ファイル名も同じ方法で保護できますが、ここでは単一引用符が二重引用符とエスケープを保護する方法を示します。
sh -c
部分は必要ありません。
$1
、シェルからシェル変数として認識されることはありません。しかし、引用符の順序が逆であればそうではありません。
以下の代わりに、さらに簡単に:
ssh host something > file
行う:
ssh host "something > file"