バックグラウンドジョブがあるかどうかを示すようにbashプロンプトをカスタマイズできますか?背景作業があるという事実を簡単に忘れてしまいます。
プロンプトが次のようになるとしましょう。
$
バックグラウンドジョブの数を表示する方法はありますか?たとえば、バックグラウンドで送信された2つのバックグラウンドジョブを使用している場合、CTRL+Z
プロンプトは次のようになります。
2 $
答え1
\j
ヒントを入力してください。 ~からバッシュマニュアル:
\j
現在のシェルによって管理されているタスクの数
プロンプトは期限切れになり、操作はいつでも完了する可能性があるため、端末をアイドル状態にしておくと、プロンプトを再表示する必要があることに注意してください。
\j
ジョブがある場合にのみプロンプトを表示できますが、プロンプトを印刷するには追加のプロセスが必要です。
PROMPT_COMMAND='hasjobs=$(jobs -p)'
PS1='${hasjobs:+\j }\$ '
答え2
zsh では、以下を使用して%j
ジョブ数を表示できます。"%1(j.%j.)"
例えば。RPROMPT="%1(j.%j.)"
右側のプロンプトに表示します。詳しくはマニュアルをご覧ください。そしてこの回答。