서버에 SSH로 접속한 다음 명령 목록을 실행하는 기능을 원합니다.

서버에 SSH로 접속한 다음 명령 목록을 실행하는 기능을 원합니다.

내가 하고 싶은 일은:

f(){
 ssh myserver &&
 ls &&
 echo 'it works!'
}

그러나 이 기능을 실행하면. ssh를 실행하면 됩니다.

답변1

명령 목록을 다음 위치에 직접 넣으세요 ssh myserver.

ssh myserver 'ls && echo it works'

답변2

SSH를 통해 함수나 복잡한 스크립트를 사용하려면 모든 이스케이프 처리가 까다롭기 때문에 SSH 명령으로 실행하는 것보다 스크립트를 호스트에 복사하는 것이 더 쉽습니다.

scp myscipt.sh host:
ssh host "./myscript.sh"

또는

cat myScript.sh | ssh host "cat - > myScript.sh; . ./myScript.sh; rm myScript.sh"

관련 정보