zsh提示 – 检查是否有任何后台作业

我自定义我的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

我所面临的问题是,只有当我打开一个新的会话,而不是在每个命令使得这个没有用的时候,代码才被评估.每个命令后,如何重新评估number_jobs?

解决方法

zsh有一个特殊的提示序列,如C三元运算符.下面的工程意味着如果有一个或多个工作,然后打印他们的号码或打印什么:

%(1j.%j.)

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。