로그아웃 시 스크립트 실행

로그아웃 시 스크립트 실행

가끔은 SSH를 통해 상자에 접속하고 일부 스크립트를 실행하여 시스템을 변경합니다. 세션 종료 시 명시적으로(예 exit: 셸에서 로그아웃) 또는 암시적으로(예: SSH 세션 시간 초과로 인해) 이 변경 사항을 취소하고 싶습니다 .

이 작업을 수행하기 위해 설정할 수 있는 것이 있나요?

Stratman의 예로, 파일을 생성하는 /etc/foo동시에 rm /etc/foossh 세션이 종료될 때 특정 시점에 작업을 수행하는 정리 스크립트를 등록하려고 한다고 가정해 보겠습니다.

답변1

두 가지 방법:

일회성 작업을 수행하려면 트랩을 설정할 수 있습니다 EXIT.

trap 'rm /etc/foo' EXIT

현재 쉘이 종료될 때 주어진 코드가 실행됩니다. 트랩은 대화형 프롬프트에서 설정할 수도 있고, $HOME/.bash_profile매번 발생하도록 하려는 경우에도 설정할 수 있습니다(트랩 설정에 유의하세요).다시이전에 설정된 트랩은 제거됩니다.) 당신은 할 수제거하다실행 전 트랩 trap - EXIT.

또 다른 방법은 원하는 경우입니다.언제나대화형 로그인 셸이 종료될 때 특정 명령 집합을 실행하려면 해당 명령을 에 배치하면 됩니다 $HOME/.bash_logout.

이 파일은 대화형 로그인 쉘이 종료되거나 비대화형 로그인 쉘이 실행될 때 실행됩니다 exit.

관련 정보