Добавление в приглашение zsh кода ошибки программ и расшифровки сигнал
Если программа завершается с ненулевым кодом ошибки то его можно отображать в prompt что бы если что по документации можно выяснить что означает это возвращаемое значение.
Если программа прервана сигналом то zsh возвращает код возврата 128 + номер сигнала(в bash тоже).
Зная это + немножно знания zsh можно добавить в свое приглашение удобную фичу Ж:-)
Подсмотрено в стандартных prompt идущих с zsh
Заносим в precmd() где нибуть в вашем ~/.zshrc
precmd () { setopt noxtrace localoptions local exitstatus=$? [[ $exitstatus -ge 128 ]] && psvar[1]=" $signals[$exitstatus-127]" || psvar[1]="" }
после чего
setopt PROMPT_SUBST p_rc="%(?..[%?%1v])"
И вставляем $p_rc в свой любимый prompt.
Например сделаем так что бы отображалось права в командной строке
$ export RPROMPT=$p_rcПроверяем как работает
$ true
$Программа завершилась успешно - ничего не отображается
$ false
$ [1]Программа завершилась с ненулевым кодом ошибки, он отображается
$ cat ^C $ [130 INT]
Программа была прервана, INT - то каким сигналом это было сделано
Цвета и прочее добавляем по собственному вкусу.
- 2238 просмотров
Страница для печати

