먼저 수동으로 다운로드하지 않고 스마트하게 원격 파일을 로컬 파일과 비교하고 싶습니다. 다음을 통해 원격 파일의 내용을 얻을 수 있습니다.
ssh user@remote-host "cat path/file.name"
그러나 그것을 파이핑diff
ssh user@remote-host "cat path/file.name" | diff path/file.name
나에게 이것을 주었다:
diff: missing operand after `path/file.nae'
diff: Try `diff --help' for more information.
비밀번호를 묻는 메시지가 표시되지 않도록 ssh 키를 설정했습니다. 해결책이 있나요?
답변1
-
표준 입력을 나타내는 데 사용됩니다 .
ssh user@remote-host "cat path/file.name" | diff path/file.name -
답변2
해결 방법은 다음과 같습니다. diff
<(표현) 인수로 :
diff <(ssh \"cat path/file.name/") <(cat path/file.name)
답변3
파이프를 통해 diff를 입력하는 것은 실행하는 것과 같습니다.
diff path/file.name
그런 다음 실행되면 파일의 전체 내용을 입력하십시오.
보시다시피 이것은 당신이 기대하는 것이 아닙니다.
답변4
diff /tmp/localtempfile <(ssh -A -o StrictHostKeyChecking=no root@server "cat /tmp/remotetempfile")