[LRUG] Last exit status in bash prompt

Viktor Tron viktor.tron at gmail.com
Mon Jan 9 06:36:49 PST 2012


i guess you simply need something like this. hth

function exitstatusprompt {
EXITSTATUS="$?"
#PROMPT=$(rbenv version-name)
if [ "${EXITSTATUS}" -eq 0 ]
     then
        PS1="${PROMPT} ${GREEN}"
     else
        PS1="${PROMPT} ${RED}"
fi
}
PROMPT_COMMAND=exitstatusprompt


On Mon, 09 Jan 2012 14:20:16 -0000, Andrew Stewart  
<boss at airbladesoftware.com> wrote:

> Hola El Rug,
>
> I'm having trouble incorporating the exit status of the last command  
> into my bash prompt.  My prompt executes a couple of commands to display  
> the current Ruby version and the current git status, and then I want to  
> use the exit status of the last command to control the colour of the  
> final character (e.g. $).
>
> However the prior commands (for the Ruby and git info) make the  
> last-exit-status test useless so I need to save out the value at the  
> start of the prompt.  However I cannot seem to make it work.
>
> For example, this shows the correct exit status:
>
>   PS1="\$? \$(rbenv version-name) $ "
>
> But I want to make use of the exit status at the end of the prompt,  
> along these lines:
>
>   PS1="XXX \$(rbenv version-name) \$( if [ YYY -eq 0 ]; then echo  
> $GREEN; else echo $RED; fi ) $ "
>
> where:
> - XXX means save $?
> - YYY means retrieve what XXX saved
> - GREEN and RED are variables defined earlier in my bashrc with Bash's  
> wacky colour codes.
>
> I'm sure there's a simple answer but I can't find it!
>
> Thanks in advance,
>
> Andy Stewart
> -----
> http://airbladesoftware.com
> _______________________________________________
> Chat mailing list
> Chat at lists.lrug.org
> http://lists.lrug.org/listinfo.cgi/chat-lrug.org



More information about the Chat mailing list