让用户取消 shell 注销的脚本

让用户取消 shell 注销的脚本

我想编写一个脚本来显示消息并可能取消从交互式 shell 中的注销。这是因为我经常在一些 shell 中运行后台作业,并且在我退出所有 shell 的那一刻,关闭正在运行的作业。我想要的是这样的脚本:

# 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 显示一条通知。如果有作业正在运行,您必须尝试退出两次才能真正退出。

相关内容