Отображать статус возврата без нуля в PS1

Я хочу включить статус возврата в мое приглашение. (Легко добавить '$? ' , Не так ли?)

Тем не менее, я хочу, чтобы возвращаемый статус (и конечное пространство) возвращался не равным нулю.

Пример:

 sd ~ $ false 1 sd ~ $ true sd ~ $ 

3 Solutions collect form web for “Отображать статус возврата без нуля в PS1”

Убедитесь, что promptvars опция promptvars (она по умолчанию). Затем поместите любой код, который вам нравится в PROMPT_COMMAND чтобы определить переменную, содержащую именно то, что вы хотите в подсказке.

 PROMPT_COMMAND='prompt_status="$? "; if [[ $prompt_status == "0 " ]]; then prompt_status=; fi' PS1='$prompt_status\h \w \$ ' 

В zsh вы можете использовать условную конструкцию в PS1 (bash не имеет эквивалента).

 PS1='%(?,,%? )%m %~ %# ' 

Лучшее, что я могу получить, получается

 PS1='${?/#0/}'":$PS1" 

где я добавил : как разделитель, так что не совсем то, что в этом вопросе.

Не требуется использовать PROMPT_COMMAND . Здесь он делает ненужные осложнения. Все, что вам нужно сделать, это определить эту функцию:

 prompt_status() { [ $? = 0 ] && return echo -n "${?} " } 

И затем установите PS1 следующим образом:

 shopt -s promptvars PS1='$(prompt_status)'$PS1 

Оценка prompt_status() внутри подоболочки защищает $? от изменения.

  • изменить форматирование форматирования на основе cwd
  • Выделите текущую строку подсказки bash
  • bash PS1 256 цветов с жирным шрифтом
  • Вызов Bash - backspace удаляет правый выровненный текст (можно остановить?)
  • Частично дублированная история при настройке PS1 в .bash_profile
  • Как сделать подсказку с каждым нажатием клавиши / символом?
  • Отобразить текущий рабочий каталог в терминале
  • Как отобразить только имя рабочего каталога в префиксе оболочки?
  • TCSH Prompt отображает синтаксическую ошибку в отношении отсутствующего кронштейна
  • как заставить команду tcsh promt показать количество заданий LSF?
  • Как избежать этих ложных символов в моей подсказке bash?
  • Interesting Posts

    Как я могу определить пакеты с конфликтующими зависимостями?

    fstab не монтирует cifs при запуске

    Нужно ли создавать резервные копии файлов в каталоге / opt при обновлении Solaris 11 до Solaris 11.3?

    MySQL Workbench Не удается запустить диспетчер туннелей SSH

    Weird zsh grep -P поведение

    Скрыть make-объекты из оболочки, когда пользователи автозаполняются в bash

    Как проверить программные переменные среды SLURM?

    Ошибка Preseed с выходом 2

    перечислить файлы и сохранить их в переменных

    Извлечь текст между тремя одинарными кавычками

    Imagemagick конвертирует неправильно размеры ландшафта pdfs

    Debian Stretch – как установить hamachi (неудовлетворительная зависимость lsb-core)

    Как иметь X-сервер на другой графической карте, которая постоянно освежает, когда я работаю над своим основным дисплеем?

    Почему это назначение переменной не работает при использовании tee?

    Можно ли добавить коды исправлений ошибок (BCH, RS или т. Д.) В один файл?

    Linux и Unix - лучшая ОС в мире.