SSH를 통해 표준 출력 리디렉션

SSH를 통해 표준 출력 리디렉션

나는 달리고 싶다

something > file

SSH를 통해 원격 시스템에서 실행하지만 실행하면

ssh host something > file

리디렉션은 다음과 같이 로컬로 수행됩니다.ssh etc > file

'대신 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'

관련 정보