Alexander Hall <alexan...@beard.se> writes:

[...]

> I'm pretty sure this messes up $? at the prompt. Try:
>
>     false
>     echo $?
>
> You could circumvent this by saving $? at the beginning of the function and 
> returning it at the end. 

Here's an excerpt of my .kshrc.  The '$' is printed in red if the last
command failed, $? is preserved in case I want to know the exact value.

---
    _nc=$(tput sgr0)
    _red=$(tput setaf 1)
---
    _ps1_err () {
        local _rc=$?
        [ "$_rc" -ne 0 ] && printf %s "$_red"
        return "$_rc"
    }
    PS1='\h \w\[$(_ps1_err)\]\$\[$_nc\] '
---

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to