Ctrl + Сдвиг + u (это покажет подчеркнутый u) и затем значение unicode (в этом случае B0
) и следуйте за ним введением.
Удостоверьтесь что promptvars
опция идет (это по умолчанию). Затем поместите любой код, в котором Вы любите PROMPT_COMMAND
определить переменную, содержащую точно, что Вы хотите в подсказке.
PROMPT_COMMAND='prompt_status="$? "; if [[ $prompt_status == "0 " ]]; then prompt_status=; fi'
PS1='$prompt_status\h \w \$ '
В zsh Вы могли использовать его условную конструкцию в PS1
(удар не имеет никакого эквивалента).
PS1='%(?,,%? )%m %~ %# '
Лучшее, которое я могу иметь, получено
PS1='${?/#0/}'":$PS1"
где я добавил a :
как разделитель, таким образом, не точно, что находится в вопросе.
Это не требуется использовать Prompt_command
. Здесь оно ненаблять осложнения. Все, что вам нужно сделать, это определить эту функцию:
prompt_status()
{
[ $? = 0 ] && return
echo -n "${?} "
}
, а затем установить PS1, как это:
shopt -s promptvars
PS1='$(prompt_status)'$PS1
Оценка respear_status ()
Внутренний подпункл защищает $?
от изменения.