Answers:
尝试:
ssh host 'something > file'
这是处理重定向,管道和引号的一种精心设计的演示:
ssh host date -d yesterday \| awk "'{print $1}'" \> 'file" "with\ spaces.out'
管道和重定向被转义,而不是包含在整个外部引号中,从而减少了对一个引号进行转义的需要。AWK命令的单引号由包围它们的双引号保护。可以用相同的方式保护文件名,但是这里我展示了单引号如何保护双引号和转义符。
sh -c
部分。
$1
受到保护,不会被shell视为shell变量。但是,引号的顺序不是相反的。
甚至更简单,而不是:
ssh host something > file
做:
ssh host "something > file"