다시 시작한 후 .bash_logout의 명령을 실행할 수 없는 이유는 무엇입니까?

다시 시작한 후 .bash_logout의 명령을 실행할 수 없는 이유는 무엇입니까?

운영 체제: debian9.
로그 파일을 생성합니다.

touch $HOME/logout.log

.bash_logout에 명령을 추가합니다.

vim .bash_logout
echo  $(date)  >>  $HOME/logout.log

이제 귀하의 계정 이름으로 로그인 test하고 /home/test/logout.log.

날짜 정보를 쓰고 싶은데 /home/test/logout.log, 재시작 후 왜 날짜 정보가 없나요?
재부팅 후 /home/test/logout.log에는 아무것도 없습니다.

답변1

첫 번째

echo $(date) >> $HOME/logout.log

로 대체될 수 있다

date >> $HOME/logout.log

다음,

.bash_logout재부팅할 때가 아니라 연결을 끊을 때 실행됩니다.

  • 재시작호스트를 재부팅할 때 모든 프로세스, 데이터베이스, 웹 서버 등을 효과적으로 (다소 훌륭하게) 종료한다는 것입니다.

  • 로그아웃즉, 귀하(또는 임의의 사용자)가 대화형 세션에서 연결을 끊더라도 호스트와 데이터베이스 등은 계속 실행 중이라는 것입니다.

예약된 종료 중에 스크립트를 실행하려면 X를 런레벨(의 결과 ) 로 설정한 /etc/init.d다음 링크를 추가하세요 .K01-trace-logout/etc/rcX.dwho -r

마침내

예상치 못한 종료(정전, 디스크 I/O 정지)는 로그 파일에 어떤 흔적도 남기지 않습니다.

답변2

bash를 로그인 쉘로 실행해야 합니다. 사용자로 로그인해야 하며 대화형 로그인 셸에서 로그아웃하면 .bash_logout 스크립트가 실행됩니다.

관련 정보