원격으로 공유 서버에 연결하고 있으며 원격 컴퓨터에서 코드 줄 실행을 자동화하고 싶습니다.앞으로연결을 닫습니다(예: Ctrl+D 누르기).
좀 더 구체적으로 말하자면, 떠나기 전에 SSH 에이전트를 종료하고 싶었는데, 내가 떠난 후에도 여전히 SSH 에이전트가 실행 중이라는 것을 알았기 때문입니다. 에이전트가 다른 프로그램에 의해 시작되었으므로 시작 방법을 변경하는 것보다 떠나기 전에 에이전트를 종료하는 것이 더 쉬울 것이라고 생각했습니다.
아래와 같이 임의의 명령을 자동으로 실행할 수 있습니까?앞으로SSH 연결을 닫으시겠습니까?
# user attempts to close connection
# an arbitrary code or script runs
eval "$(ssh-agent -k)"
# connection is closed
flag() 와 같은 것일 수도 있지만 -t
연결 후가 아니라 연결 해제 전에 실행됩니다.ssh -t [email protected] 'cd /some/path; bash -l'
답변1
trap
실행 .bashrc
시간 을 설정할 수 있습니다쉘 종료:
그것은 마치
trap 'test -n "$SSH_AGENT_PID" && eval "$(/usr/bin/ssh-agent -k)"' 0
선택적으로 루틴 추가.bash_logout