Этот вопрос очень похож на этот: Цветная строка PS1
Но я все еще не понимаю полностью.
Так скажи, у меня есть эта функция
function getjobs {
echo $(jobs | wc -l)
}
И мой PS1 это
PS1="\u@\h: [jobs "
PS1="$PS1\$(if [[ $(getjobs) == 0 ]] ; then
echo $(color $green);
else
echo $(color $red);
fi)"
Теперь это оценивается только тогда, когда .bashrc загружается впервые, но я хочу, чтобы это происходило, если оператор вычисляется каждый раз, когда появляется новое приглашение.
Как я могу это сделать?
РЕДАКТИРОВАТЬ: функция color
возвращает escape-последовательности для этих цветов.