나는 모든 사람을 구하는 것을 좋아합니다역사Bash에 일종의 로그 파일로 저장되며, 이를 위해 추가 디렉터리 ~/lib/hists/가 생성되었습니다.
쉘에서 이러한 로그 파일을 작성하는 것은 쉽습니다.
history -w /home/stefan/lib/hists/bash-hist-$(date +%F_%T_%N)
이제 닫으면 모든 닫힌 xterm이 로그 파일에 기록되므로 충돌을 피하기 위해 파일 이름에 나노초를 포함합니다.
그래서 나는 그 명령을~/.bash_logout
불행하게도 xterm을 닫아도 그러한 로그 파일이 생성되지 않습니다. 아마도 창문을 닫았기 때문이 아닐까 생각했습니다. 따라서 bash에서 bash를 시작하십시오.
bash
ls
exit
그러나 또다시 역사적 기록이 없습니다.
대부분의 경우 4~6개의 터미널이 열려 있지만 내가 모르는 기록 파일만 있습니다. 어떤 명령이 거기에 있는지 - 첫 번째 열린 쉘부터 시작하여 마지막 닫힌 쉘부터 시작합니까? 작동하는 동안 기록은 간섭하지 않으므로 하나의 셸 인스턴스에만 바인딩된 것 같습니다.
내가 관심 있는 것은 내 접근 방식이 실패한 이유와 매우 다른 접근 방식을 포함하여 이를 해결한 방법에 대한 설명입니다.
답변1
.bash_logout
Bash는 쉘이 로그인 쉘인 경우에만 명령을 실행합니다.
# .bash_logout will print "hi"
$ cat .bash_logout
echo hi
# Start a new shell that is not a login shell
$ bash
$ shopt login_shell
login_shell off
# On exit, it will not print "hi"
$ exit
exit
# Start a login shell
$ bash -l
$ shopt login_shell
login_shell on
# On exit it will execute .bash_logout, and will print "hi"
$ exit
logout
hi
바라보다superuser.com의 답변해결하려는 문제에 대한 자세한 내용과 대체 솔루션을 알아보세요.