이 두 가지 문제는 나를 미치게 만들고 있으며 SSH 전문 지식이 별로 없습니다. (그러나 이것은 리디렉션에만 관련된 것으로 생각됩니다)
문제는,
호출된 파일에서 명령
abc.txt
으로 여러 줄의 입력을 전달하려고 합니다 .ssh
이 작업을 수행하는 데 필요한 명령을 완료하세요.
$ssh _ _ abc.txt
(단 두 글자만) (자세한 설명이 도움이 될 것입니다)
그리고
Remote.txt라는 파일에서 여러 줄 입력을 로 전달하려고
ssh
하지만 후속 입력의 모든 선행 탭 문자를 제거해야 합니다. 이 작업을 수행하려면 명령을 완료하세요.
$ssh _ _ _ Remote.txt
답변1
다음에서 입력을 전달합니다.현지의file 의 ssh
경우 다음과 같이 입력 리디렉션을 사용해야 합니다.
ssh user@server < abc.txt
이 문자가 _
별도의 문자여야 합니까? 이 경우 일부 user@host에 대한 별칭으로 x
구성 하면 ~/.ssh/config
가능합니다 .
ssh x < abc.txt
2번 질문은 제가 잘 이해하지 못해서 답변을 드릴 수 없습니다. Remote.txt가 원격에 있기를 원합니다.
두 번째 질문에 따르면 Remote.txt가 원격 측의 파일이라고 가정합니다. 이 경우 명령은 다음 형식이어야 합니다.
ssh user@server "bash < Remote.txt"
...하지만 이는 문제 설명에 맞지 않으며 _ _ _
물론 후행 탭을 제거하려면 다음과 같은 추가 작업이 필요합니다.
ssh user@server "bash < <(sed -e 's/^[ ]*//' Remote.txt)"
즉 이것은확실히두 번째 질문에 대답합니다. 이것이 무엇을 해야 할지 이해하는 데 도움이 되기를 바랍니다 ssh
.
편집하다
Q를 다시 읽은 후 "ssh에 여러 줄 입력 전달"이라고 표시되어 있으므로 ssh로 다시 리디렉션을 사용해야 함을 나타냅니다. 이 경우 파일은 로컬이어야 합니다.
ssh user@server < <(sed 's/^[ ]*//' Remote.txt)
하지만 다시 말하지만, 이것이 형식의 답변이 될 자격이 없다고 생각합니다.ssh _ _ _ Remote.txt
답변2
답변 1.
$ssh user@server cat abc.txt
답변 2.
$ssh user@server "sed 's/^[ ]//g' Remote.txt"
답변3
첫 번째 부분의 경우:
$ssh << abc.txt
두 번째 부분의 경우:
$ssh <<- remote.txt