On Wed, Apr 18, 2001 at 12:48:55AM -0700, Karsten M. Self wrote:
> > It's a shame that you've solved your problem; now I don't have an
> > excuse to tell you that this is a great root prompt.
> 
> Not half bad.  My own approach is slightly more subtle, but reasonably
> effective:

Here's mine, while we're comparing; I put "source $HOME/.prompt &&
prompt" in by .bashrc.

Rob

-- 
... this must be what it's like to be a COLLEGE GRADUATE!!
#!/bin/bash

black   () { echo -en "\e[0;30m" ; }
red     () { echo -en "\e[0;31m" ; }
green   () { echo -en "\e[0;32m" ; }
brown   () { echo -en "\e[0;33m" ; }
blue    () { echo -en "\e[0;34m" ; }
purple  () { echo -en "\e[0;35m" ; }
cyan    () { echo -en "\e[0;36m" ; }
gray    () { echo -en "\e[0;37m" ; }

dgray   () { echo -en "\e[1;30m" ; }
bred    () { echo -en "\e[1;31m" ; }
bgreen  () { echo -en "\e[1;32m" ; }
bbrown  () { echo -en "\e[1;33m" ; }
bblue   () { echo -en "\e[1;34m" ; }
pink    () { echo -en "\e[1;35m" ; }
bcyan   () { echo -en "\e[1;36m" ; }
white   () { echo -en "\e[1;37m" ; }

norm    () { echo -en "\e[0m" ; }

prompt () {
    local BLACK="\[\e[0;30m\]"
    local RED="\[\e[0;31m\]"
    local GREEN="\[\e[0;32m\]"
    local BROWN="\[\e[0;33m\]"
    local BLUE="\[\e[0;34m\]"
    local PURPLE="\[\e[0;35m\]"
    local CYAN="\[\e[0;36m\]"
    local GRAY="\[\e[0;37m\]"

    local DGRAY="\[\e[1;30m\]"
    local BRED="\[\e[1;31m\]"
    local BGREEN="\[\e[1;32m\]"
    local BBROWN="\[\e[1;33m\]"
    local BBLUE="\[\e[1;34m\]"
    local PINK="\[\e[1;35m\]"
    local BCYAN="\[\e[1;36m\]"
    local WHITE="\[\e[1;37m\]"

    local NORM="\[\e[0m\]"

    local TIME="$PURPLE$(date +%H:%M)$NORM "
    [ "$(whoami)" == "root" ] && local DOLLAR="$WHITE\\$\[\]${NORM} " \
            || local DOLLAR="$GREEN\\$\[\]${NORM} "
    # this will let me put a history number in ... I've decided I don't like it
    #local HIST="$RED\\!${NORM} "

    if [ $PWD == $HOME ] ;
    then
        local DIR=""
        local TBAR="[EMAIL PROTECTED]"
    else
        local DIR="$BROWN[\w]$NORM\n"
        local TBAR="[EMAIL PROTECTED]:\w"
    fi

    [ "$TITLEBAR" == "" ] || local TBAR=$TITLEBAR

    local TBAR="\[\e]0;$TBAR\007\]"

    case $HOSTNAME in
    peon)       local HOST="" ;;
    *)  local HOST="$BLUE\h$NORM " ;;
    esac

    local TTY="$(tty | cut -d/ -f3)"
    if [ "$TTY" == "pts" ]
        then
            local TTY="$TTY/$(tty | cut -d/ -f4)"
    fi
    local TTY="$CYAN$TTY$NORM "

    case $TERM in
    xterm*)     local TBAR=$TBAR 
                local TTY="";;
    dtterm*)    local TBAR=$TBAR 
                local TTY="";;
        *)      local TBAR="" 
                local TTY=$TTY ;;
    esac

    export PS1="$TBAR$DIR$TIME$HOST$TTY$DOLLAR"
    export PROMPT_COMMAND='prompt'

} && prompt

Reply via email to