[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PATCH: Add \? to get PIPESTATUS information in the prompt
From: |
Paul Jarc |
Subject: |
Re: PATCH: Add \? to get PIPESTATUS information in the prompt |
Date: |
Tue, 04 Sep 2001 21:46:21 -0400 |
User-agent: |
Gnus/5.090004 (Oort Gnus v0.04) Emacs/20.7 |
"Wesley J Landaker" <wjl@mindless.com> wrote:
> I use bash all the time, but there is one thing that always bugged me
> that tcsh had that bash didn't: the ability to get the return code from
> the last process (or pipeline) embedded easily in the prompt.
>
> This is possible to do, sure, with PROMPT_COMMAND and so forth, but
> it's rather annoying, because running PROMPT_COMMAND actually modifies
> PIPESTATUS, and so forth.
You can save $? befare doing anything else, and restore it at the end.
I use this:
function ps1 {
local s="${?#0}" pwd="$PWD"
[ "$hash" = '' ] && pwd="${pwd/#$HOME/~}"
echo -n "$hash${s:+$s:}${HOSTNAME%%.*}:${pwd%/}/ "
return "${s:-0}"
}
PS1='$(ps1)'
hash=
case "$(id)" in (uid=0\(*) hash='#';; esac
paul