Ответ 1
zsh имеет специальную последовательность запросов, такую как C-тернарный оператор. Нижеследующая конструкция означает, что если есть одно или несколько заданий, напечатайте их номер или ничего не напечатайте:
%(1j.%j.)
Я настраиваю свое приглашение zsh и нашел следующее, чтобы проверить, есть ли фоновые задания:
if [[ $(jobs | wc -l) -gt 0 ]]; then # has background job(s)
number_jobs='J:${cyan}%j${no_color}'
else # no background job(s)
number_jobs=""
fi
Проблема, с которой я сталкиваюсь, заключается в том, что код оценивается только тогда, когда я открываю новый сеанс, а не после того, как каждая команда делает это бесполезным. Как я могу переоценить number_jobs
после каждой команды?
zsh имеет специальную последовательность запросов, такую как C-тернарный оператор. Нижеследующая конструкция означает, что если есть одно или несколько заданий, напечатайте их номер или ничего не напечатайте:
%(1j.%j.)