메시지를 표시하고 대화형 셸에서 로그아웃을 취소하는 스크립트를 작성하고 싶습니다. 일부 쉘에서는 백그라운드 작업을 자주 실행하는데, 모든 쉘을 종료하는 순간 실행 중인 작업을 종료하기 때문입니다. 내가 원하는 것은 다음과 같은 스크립트입니다.
# If there are running jobs
if [ -z "$(jobs)" ]; then
# Display messages, give choices, etc.
...code...
# And finally, given some conditions (e.g. answers to questions, etc.)
cancel_logout
else
logout
아마도 위의 내용이 들어갈 것입니다 ~/.bash_logout
.
답변1
올바른 방법은 bash가 검사 자체를 수행하도록 하는 것입니다.
shopt -s checkjobs
이렇게 하면 작업이 계속 실행 중인 경우 bash에 알림이 표시됩니다. 실행 중인 작업이 있는 경우 실제로 종료하기 전에 종료를 두 번 시도해야 합니다.