emlen Posted August 9, 2016 Share 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 Link to comment Share on other sites More sharing options...
zyxmon Posted August 9, 2016 Share Posted August 9, 2016 (edited) Вопрос на засыпку - а bash_profile выполняется? Edited August 9, 2016 by zyxmon Quote Link to comment Share on other sites More sharing options...
emlen Posted August 9, 2016 Author Share Posted August 9, 2016 1 час назад, zyxmon сказал: Вопрос на засыпку - а bash_profile выполняется? да Quote Link to comment Share on other sites More sharing options...
emlen Posted August 9, 2016 Author Share Posted August 9, 2016 (edited) .bashrc не запускался, пока на него в bash_profile не сослался... в итоге от .bashrc отказался вовсе за ненадобностью.. Edited August 9, 2016 by emlen Quote Link to comment Share on other sites More sharing options...
zyxmon Posted August 10, 2016 Share 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 Link to comment Share on other sites More sharing options...
emlen Posted August 10, 2016 Author Share Posted August 10, 2016 5 часов назад, zyxmon сказал: Такие вопросы задают гуглу. У меня работает так Я задавал, честно.. Работает, но не так как я спрашивал :-[ вот два варианта один Ваш, а второй как нужно сделать, но не знаю как.. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted August 10, 2016 Share Posted August 10, 2016 6 минут назад, emlen сказал: но не знаю как.. Уберите из PS1 выдачу кода ошибки. Будет почти как хотите. Quote Link to comment Share on other sites More sharing options...
emlen Posted August 10, 2016 Author Share 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 Link to comment Share on other sites More sharing options...
zyxmon Posted August 10, 2016 Share Posted August 10, 2016 А почему и там, и там зеленый? Quote Link to comment Share on other sites More sharing options...
emlen Posted August 10, 2016 Author Share Posted August 10, 2016 1 минуту назад, zyxmon сказал: А почему и там, и там зеленый? ввод зеленый, все остальное белое, кроме вывода при ненулевом коде возврата - красный вывод.. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted August 10, 2016 Share Posted August 10, 2016 А без trap - по простому, как у меня. Quote Link to comment Share on other sites More sharing options...
emlen Posted August 10, 2016 Author Share Posted August 10, 2016 так без trap вывод не цветной, а только приглашение ко вводу.. Quote Link to comment Share on other sites More sharing options...
emlen Posted August 13, 2016 Author Share Posted August 13, 2016 так чисто теоретически это возможно, или просто анриал? Quote Link to comment Share on other sites More sharing options...
zyxmon Posted August 13, 2016 Share Posted August 13, 2016 3 часа назад, emlen сказал: так чисто теоретически это возможно, или просто анриал? ИМХО - возможно. Quote Link to comment Share on other sites More sharing options...
emlen Posted September 1, 2016 Author Share Posted September 1, 2016 Топик актуален, буду очень благодарен, если кто подкинет "рецептик") Quote Link to comment Share on other sites More sharing options...
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.