bash: показывать имена фоновых заданий в командной строке bash

bash: показывать имена фоновых заданий в командной строке bash

Было бы здорово, если бы командную строку bash можно было использовать в качестве мини-панели задач.

Может ли командная строка bash (PS1) отображать имена заданий, перечисленных в команде jobs?

решение1

AFH в комментарии дает вам строительные блоки. Вот один пример того, как правильно цитировать.

В качестве «имени задания» я выбираю командное имя задания (первое слово после «Running»):

PS1='$(echo $(jobs | awk '\''/Running/{print "[" $3 "]"}'\''))$ '

А если попробовать выполнить это с двумя фоновыми командами и просто нажать «enter» несколько раз, чтобы увидеть изменение приглашения:

$ sleep 4 & sleep 2 &
[1] 7222
[2] 7223
[sleep] [sleep]$ 
[sleep] [sleep]$ 
[2]+  Done                    sleep 2
[sleep]$ 
[1]+  Done                    sleep 4
$ 

Связанный контент