我正在自定义我的 zsh 提示,并发现以下内容来检查是否有任何后台作业:
if [[ $(jobs | wc -l) -gt 0 ]]; then # has background job(s)
number_jobs='J:${cyan}%j${no_color}'
else # no background job(s)
number_jobs=""
fi
我面临的问题是,代码似乎只有在我打开一个新 session 时才被评估,而不是在每个命令之后才进行评估,这使得这变得毫无用处。我怎么会有
number_jobs
在每个命令后重新评估?
最佳答案
zsh 有一个特殊的提示序列,就像 C 三元运算符。下面的结构意味着如果有一个或多个作业,则打印它们的编号或不打印任何内容:
%(1j.%j.)
关于zsh 提示 - 检查是否有任何后台作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10194094/