私は機能がありますjobscount()
:
jobscount() {
local stopped='$(jobs -s | wc -l | tr -d " ")'
local running='$(jobs -r | wc -l | tr -d " ")'
echo -n "${running}r/${stopped}s"
}
私はこの機能を使います$PS1
。
PS1=" \w $(jobscount) \$ "
唯一の問題は、実行中のバックグラウンドプロセスがない場合、または停止したタスクがないと、その機能が$PS1
無駄にスペースを占めることです。私が望むのはorstopped
値running
が0
、その時現れる。
ベストアンサー1
この方法をとても複雑にしました。出力がjobs
空でないことを確認し、\j
PS1文字列に追加します。
if [ -n "$(jobs -p)" ]; then echo "\j"; fi
私のプロンプトの一部は次のとおりです。
#Show number of jobs if at least one job
export PS1+='`if [ -n "$(jobs -p)" ]; then echo "(\j)"; fi`'