![bash: bashプロンプトにバックグラウンドジョブの名前を表示する](https://rvso.com/image/1481858/bash%3A%20bash%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%81%AB%E3%83%90%E3%83%83%E3%82%AF%E3%82%B0%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89%E3%82%B8%E3%83%A7%E3%83%96%E3%81%AE%E5%90%8D%E5%89%8D%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B.png)
bash プロンプトをミニタスクバーで使用できれば便利です。
bash プロンプト (PS1) は、jobs コマンドにリストされているジョブの名前を表示できますか?
答え1
コメント内の AFH は、基礎ブロックを提供します。引用を正しく行う方法の一例を次に示します。
「ジョブ名」として、ジョブのコマンド名(「実行中」の後の最初の単語)を選択します。
PS1='$(echo $(jobs | awk '\''/Running/{print "[" $3 "]"}'\''))$ '
これを 2 つのバックグラウンド コマンドで試し、数回「Enter」と入力してプロンプトが変化するのを確認します。
$ sleep 4 & sleep 2 &
[1] 7222
[2] 7223
[sleep] [sleep]$
[sleep] [sleep]$
[2]+ Done sleep 2
[sleep]$
[1]+ Done sleep 4
$