我想编写一个脚本来显示消息并可能取消从交互式 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 显示一条通知。如果有作业正在运行,您必须尝试退出两次才能真正退出。