SSH를 통해 사용할 때 캡처 셸 스크립트가 작동하지 않음

SSH를 통해 사용할 때 캡처 셸 스크립트가 작동하지 않음

개발 중이며 include 를 client실행하고 싶습니다 .servertrap

server대화형 SSH 세션에 연결하고 다음과 같은 최소 예제를 실행하면 제대로 작동합니다.

user@client:~$ ssh user@server
user@server:~$ sh -c 'trap "echo exiting..." EXIT'
exiting...
user@server:~$ 

그러나 대화형으로 연결하지 않고 명령 server에 명령을 추가 하면 더 이상 작동하지 않습니다.ssh

user@client:~$ ssh user@server -- sh -c 'trap "echo exiting..." EXIT'
user@client:~$ 

답변1

어쩌면 다음과 같이 시도해 볼 수도 있습니다.

클라이언트 컴퓨터에서 .stackexchange라는 이름의 파일에 명령을 저장합니다.

user@client:~$ echo 'trap "echo exiting…" EXIT' > .stackexchange

그런 다음 일반 SSH 명령을 실행하여 서버에 연결합니다.

user@client:~$ ssh user@server

연결되면 파일에서 다음 명령을 실행합니다.

user@server:~$ sh .stackexchange
exiting…
user@server:~$ 

관련 정보