我可以让“有停止的工作”更难杀死吗?

典型场景:

我短暂需要访问我的虚拟主机避免我访问的文档。 我终止 vim,修改设置和历史 vim 告诉 apache 重新加载它的设置。

麻烦:

如果我现在忘记了这一点,当我 CTRL+D 会话时,我的 shell 肯定会告诉我“有退出工作”。 尽管如此,考虑到我有一个在外壳中覆盖外壳的习惯,由于 ssh、tmux 和类似的结果,当我盖上工作并关闭窗户时,我还经常重复发送 EOF。 因此,尽管有警告,这仍会触发我错误地消除外壳。

我可以使消除此类覆盖物变得更加困难吗?

9
2022-06-07 14:40:37
资源 分享
答案: 1

如果您使用 bash,您可以将 IGNOREEOF shell 变量设置为一个数字,该数字定义在将 EOF 作为退出信号处理之前,shell 必须忽略的连续 EOF 字符的数量。 检查家伙网页的细节。

然而,在“有停止的作业”消息激活之前激活,所以你仍然有完全相同的问题 - 你收到该消息,并且另一个 ^ D 离开外壳。

如果该数字大于零,则可以选择将各种 shell 工作直接放入您的提示符中。

例如,摘自 my.bashrc:

PROMPT_COMMAND=prompt_command
prompt_command() {
    job_count=$(jobs | wc -l)
    if [ $job_count -gt 0 ] ; then
        prompt_job="[$job_count] "
    else
        prompt_job=""
    fi
}
PS1="...\${prompt_job}..."

在此之后,shell 可能看起来像 ...[1] ...

如果它高于绝对没有,这会在您的提示中添加一个工作计数。 这使您可以很容易地看到您何时有不完整的工作,并且(对我而言)作为工作仍在运行的视觉提示也很有效。

10
2022-06-07 15:10:07
资源