
Было бы здорово, если бы командную строку 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
$