좋아요, 그래서 최근 stdin 스타일 줄을 대화식 명령으로 제공하기 위해이 문서의 마술을 발견했습니다. 그러나 SSH를 사용하여 원격 서버에서 많은 명령을 실행하려고하지만 추가 명령을 실행하기 전에 실제 입력을 파이프해야합니다. 문제를 더욱 혼란에 빠뜨리므로 결과가 필요합니다. 백업)SSH 용 셸에서 파이프와 여기에있는 문서를 결합하십시오.
여기 내가 사용하려고 해요 내용은 다음과 같습니다
#!/bin/sh
RESULT=$(find -type f "$PATH" | gzip | ssh "$HOST" <<- 'REMOTE_SYNC'
cat > "/tmp/.temp_file"
# Do something with /tmp/.temp_file
REMOTE_SYNC
이 실제로 맞습니까? 내가 가지고있는 문제 중 일부는 데이터를/tmp에있는 파일에 파이프해야한다는 것입니다.하지만 무작위로 명명 된 임시 파일을 생성해야합니다.하지만 어떻게 할 수 있는지 잘 모르겠습니다. 변수에 대한 이름 (그래서 나는 그것에 되돌아 갈 수있다.) 그리고 여전히 stdin을 그것 안으로 보낸다.
나는 또한 find | gzip 부분을 별도의 명령으로 로컬로 먼저 실행하십시오. gzipped 파일은 준비가되었을 때 보내면 SSH 연결이 훨씬 짧아지고 결과적으로 생성 된대로 보내지 만 그 사실을 알지 못합니다. SSH에 stdin과 여분의 명령을 모두 제공 할 수 있어야합니다.
; 그 대신에 그것을 사용하는 것이 좋습니다. – msw