Можно ли настроить подсказку так, чтобы она отображала наличие фоновых заданий?

Можно ли настроить подсказку так, чтобы она отображала наличие фоновых заданий?

Можно ли настроить приглашение bash, чтобы оно показывало, есть ли фоновые задания? Я легко забываю, что есть фоновые задания.

Скажите, если подсказка была...

$

Есть ли способ заставить его показывать количество фоновых заданий? Например, если бы было два фоновых задания, отправленных в фон с помощью CTRL+Z, приглашение было бы...

2 $

решение1

Введите \jваш запрос. Изруководство по bash:

\j Количество рабочих мест, которыми в настоящее время управляет оболочка


Просто помните, что подсказки устаревают, а задания могут завершиться в любой момент, поэтому, если вы оставили терминал бездействующим, вам нужно будет повторно отобразить подсказку.


Ценой необходимости выполнения дополнительного процесса только для печати вашего запроса вы можете сделать так, чтобы он \jпоявлялся только в случае наличия каких-либо заданий.

PROMPT_COMMAND='hasjobs=$(jobs -p)'
PS1='${hasjobs:+\j }\$ '

решение2

В zsh можно использовать %jдля указания количества заданий и "%1(j.%j.)"для отображения количества заданий, если хотя бы одно из них запущено, в противном случае не показывать ничего (вместо 0). Например, RPROMPT="%1(j.%j.)"для отображения в приглашении с правой стороны.Более подробная информация в руководствеиэтот ТАК ответ.

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