emlen Posted August 9, 2016 Posted August 9, 2016 Всем доброго времени суток! Подскажите пожалуйста, хочу чтобы раскрашивался выхлоп программ в зависимости от кода возврата, в ./bash_profile: . ~/.bash_aliases . ~/.bash_colors PS1="`eStat $?`\[$White\][\w]\\$\[$IGreen\] " HISTTIMEFORMAT='%F %T ' export HISTCONTROL="ignoredups" export HISTIGNORE="&:ls:[bf]g:exit:df:mc" shopt -s cmdhist shopt -s cdspell eStat() { if [ $* == 0 ]; then { trap 'printf $White "$_"' DEBUG } else { trap 'printf $IRed "$_"' DEBUG } fi; } что я делаю не так? Quote
zyxmon Posted August 9, 2016 Posted August 9, 2016 (edited) Вопрос на засыпку - а bash_profile выполняется? Edited August 9, 2016 by zyxmon Quote
emlen Posted August 9, 2016 Author Posted August 9, 2016 1 час назад, zyxmon сказал: Вопрос на засыпку - а bash_profile выполняется? да Quote
emlen Posted August 9, 2016 Author Posted August 9, 2016 (edited) .bashrc не запускался, пока на него в bash_profile не сослался... в итоге от .bashrc отказался вовсе за ненадобностью.. Edited August 9, 2016 by emlen Quote
zyxmon Posted August 10, 2016 Posted August 10, 2016 Такие вопросы задают гуглу. У меня работает так (только что попробовал) COLOR_RED_BOLD="\[\e[31;1m\]" COLOR_GREEN_BOLD="\[\e[32;1m\]" COLOR_NONE="\[\e[0m\]" # prompt function promptFunc() { PREV_RET_VAL=$?; PS1="[\h@\w]> " if test $PREV_RET_VAL -eq 0 then PS1="${PS1}${COLOR_GREEN_BOLD}\\$ ${COLOR_NONE}" else PS1="${PS1}${COLOR_RED_BOLD}\\$ [${PREV_RET_VAL}] ${COLOR_NONE}" fi } PROMPT_COMMAND=promptFunc Quote
emlen Posted August 10, 2016 Author Posted August 10, 2016 5 часов назад, zyxmon сказал: Такие вопросы задают гуглу. У меня работает так Я задавал, честно.. Работает, но не так как я спрашивал :-[ вот два варианта один Ваш, а второй как нужно сделать, но не знаю как.. Quote
zyxmon Posted August 10, 2016 Posted August 10, 2016 6 минут назад, emlen сказал: но не знаю как.. Уберите из PS1 выдачу кода ошибки. Будет почти как хотите. Quote
emlen Posted August 10, 2016 Author Posted August 10, 2016 3 минуты назад, zyxmon сказал: Уберите из PS1 выдачу кода ошибки. Будет почти как хотите. . ~/.bash_aliases . ~/.bash_colors COLOR_RED_BOLD="\[\e[31;1m\]" COLOR_GREEN_BOLD="\[\e[32;1m\]" COLOR_NONE="\[\e[0m\]" # prompt function promptFunc() { PREV_RET_VAL=$?; PS1="[\w]> " if test $PREV_RET_VAL -eq 0 then PS1="${COLOR_NONE}${PS1}\\$ ${COLOR_GREEN_BOLD}" trap 'printf $White "$_"' DEBUG else PS1="${COLOR_NONE}${PS1}\\$ ${COLOR_GREEN_BOLD}" trap 'printf $IRed "$_"' DEBUG fi } PROMPT_COMMAND=promptFunc не получается(( Quote
emlen Posted August 10, 2016 Author Posted August 10, 2016 1 минуту назад, zyxmon сказал: А почему и там, и там зеленый? ввод зеленый, все остальное белое, кроме вывода при ненулевом коде возврата - красный вывод.. Quote
emlen Posted August 10, 2016 Author Posted August 10, 2016 так без trap вывод не цветной, а только приглашение ко вводу.. Quote
emlen Posted August 13, 2016 Author Posted August 13, 2016 так чисто теоретически это возможно, или просто анриал? Quote
zyxmon Posted August 13, 2016 Posted August 13, 2016 3 часа назад, emlen сказал: так чисто теоретически это возможно, или просто анриал? ИМХО - возможно. Quote
emlen Posted September 1, 2016 Author Posted September 1, 2016 Топик актуален, буду очень благодарен, если кто подкинет "рецептик") Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.