From: Mark Wooding Date: Thu, 8 Jan 2015 14:12:04 +0000 (+0000) Subject: dot/bashrc: Show the exit code of a failed command in the prompt. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/profile/commitdiff_plain/f00ae4fac6e3924b201684e513a028bb6ed452ad?ds=inline;hp=-c dot/bashrc: Show the exit code of a failed command in the prompt. --- f00ae4fac6e3924b201684e513a028bb6ed452ad diff --git a/dot/bashrc b/dot/bashrc index a7173f7..7fa8e3a 100644 --- a/dot/bashrc +++ b/dot/bashrc @@ -35,10 +35,12 @@ if [ -t 0 ]; then "") bold="\[$(tput md)\]" unbold="\[$(tput me)\]" ;; *) bold="\[$(tput bold)\]" unbold="\[$(tput sgr0)\]" ;; esac + rccolour="\[$(tput setaf 1)\]" + uncolour="\[$(tput op)\]" nl="\[ \]" ;; *) - bold='' unbold='' nl='' ;; + bold='' unbold='' nl='' rccolour='' uncolour='';; esac ## Choose the right delimiters. Highlight root prompts specially; @@ -67,9 +69,12 @@ if [ -t 0 ]; then fi ## Build the prompt string. - PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$marker$right$unbold" + rc="$unbold$rccolour\$(rc=\$?;case \$rc in 0);;" + rc="$rc*)echo -n \" rc=\$rc\";;esac;exit \$rc)$uncolour$bold" + PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$rc$marker$right$unbold" PS2="$PS1 $bold>$unbold " unset nl bold unbold left right sec_l sec_r marker + unset rccolour uncolour rc fi ###--------------------------------------------------------------------------