我想跑步
something > file
通过 ssh 在远程系统上,但如果我运行
ssh host something > file
重定向在本地执行为ssh etc > file
'
我已经用or ''
or or尝试过dd
用管道|
代替,但我无法让它工作。如何才能做到这一点?
答案1
尝试:
ssh host 'something > file'
下面是处理重定向、管道和引号的方法的人为演示:
ssh host date -d yesterday \| awk "'{print $1}'" \> 'file" "with\ spaces.out'
管道和重定向被转义,而不是包含在整个外部引号集中,从而减少了转义一级引号的需要。 AWK 命令的单引号受其周围的双引号保护。文件名可以用同样的方式保护,但在这里我展示了单引号如何保护双引号和转义。
答案2
甚至更简单,而不是:
ssh host something > file
做:
ssh host "something > file"
答案3
建议的解决方案也适用于管道
ssh host 'some_command | some_other_command'