나는 달리고 싶다
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'