[LRUG] Last exit status in bash prompt

Graeme Mathieson mathie at woss.name
Mon Jan 9 06:46:00 PST 2012


… and I didn't actually read the original email either. Ignore me.

I guess the smiley() function could set an environment variable (instead of doing a printf) and you could display the environment variable later on in the prompt. There will be some horrible escaping involved to make the variable get evaluated at the time the prompt is displayed. :)

Cheers,

Graeme.

On 9 Jan 2012, at 14:36, Viktor Tron wrote:

> 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
> _______________________________________________
> Chat mailing list
> Chat at lists.lrug.org
> http://lists.lrug.org/listinfo.cgi/chat-lrug.org

-- 
Graeme Mathieson

Follow me on Twitter: <http://twitter.com/mathie>
Blog: <http://woss.name/>
Telephone: +44 (0)7949 0777 44 



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lrug.org/pipermail/chat-lrug.org/attachments/20120109/4e4b587a/attachment.html>


More information about the Chat mailing list