仅在非零时显示bash提示中的作业计数

ʞɔı*_*ɔıu 10 linux bash shell

bash中的典型提示,例如:

PS1="\u@\h:\w\$ "
Run Code Online (Sandbox Code Playgroud)

您可以使用显示后台作业的数量\j,例如:

PS1="\u@\h:\w [\j]\$ "
Run Code Online (Sandbox Code Playgroud)

这是有用的,因为我偶尔会忘记我有一个停止的工作,只有当它从shell手动注销时才会注意到它.

但是,95%的时间,后台作业计数为0并在提示中显示它是多余的.

如何在提示中显示作业计数,但前提是它非零?

Mar*_*ark 15

你可以做这样的事情:

PS1='\u@\h:\w $([ \j -gt 0 ] && echo [\j])\$ '
Run Code Online (Sandbox Code Playgroud)