사용자가 쉘 로그아웃을 취소할 수 있는 스크립트

사용자가 쉘 로그아웃을 취소할 수 있는 스크립트

메시지를 표시하고 대화형 셸에서 로그아웃을 취소하는 스크립트를 작성하고 싶습니다. 일부 쉘에서는 백그라운드 작업을 자주 실행하는데, 모든 쉘을 종료하는 순간 실행 중인 작업을 종료하기 때문입니다. 내가 원하는 것은 다음과 같은 스크립트입니다.

# 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에 알림이 표시됩니다. 실행 중인 작업이 있는 경우 실제로 종료하기 전에 종료를 두 번 시도해야 합니다.

관련 정보