
Bash 명령을 사용하여 창 exit
에서 명령을 트랩할 수 있지만 사용자가 터미널 창에 입력하는 경우에만 작동합니다. 대신 사용자가 닫기 버튼을 클릭하면 트랩 종료 핸들러가 실행되지 않습니다.gnome-terminal
trap
exit
배경 정보:
사용자가 닫기 버튼을 클릭하면 Bash 기록을 사용자 정의 기록 파일에 저장하고 싶습니다. 나는 를 사용했는데 export HISTFILE=/tmp/custom.hist
, 이것은 많은 경우에 작동하지만(사용자가 그놈 터미널에서 닫기 버튼을 클릭하면 기록이 주어진 파일에 저장됩니다) 어떤 경우에는 기록이 저장되지 않으므로 다음 대안을 찾고 있습니다. 환경변수 설정 HISTFILE
..
답변1
SIGHUP을 트랩하고 싶습니다.
에서 man 7 signal
:
SIGHUP 1 Term Hangup detected on controlling terminal or death of controlling process
따라서 SIGHUP과 EXIT를 모두 트랩하려면 다음을 수행하십시오.
trap 'export HISTFILE=/tmp/custom.hist' 1 EXIT
또는:
trap 'export HISTFILE=/tmp/custom.hist' SIGHUP EXIT
답변2
모든 명령 후에 기록 파일을 저장할 수 있습니다. 이 트릭은 일반적으로 여러 창의 기록을 동기화하는 데 사용되지만 귀하의 경우에도 작동합니다. 예를 들어,이 답변