Pfadanzeige in der Shell
Christian Brabandt
cblists at 256bit.org
Mit Nov 28 17:28:22 GMT 2007
Hi Sven!
On Wed, 28 Nov 2007, Sven wrote:
> Zeigt her eure Shells, da mach ich doch mal mit :-)
Ich auch ;)
,----
| function display_prompt(){
| BG=$?
| # sample colors can be seen by
| # for i in `seq 1 7 ; seq 30 48 ; seq 90 107` ; do
| # echo -e "$i \e[${i}mtest\e[0m"
| #done
| # first we declare some colors
| BLACK="\[\033[0;30m\]"
| DARKGRAY="\[\033[1;30m\]"
| BLUE="\[\033[0;34m\]"
| DARKBLUE="\[\033[1;34m\]"
| GREEN="\[\033[0;32m\]"
| DARKGREEN="\[\033[1;32m\]"
| CYAN="\[\033[0;36m\]"
| DARKCYAN="\[\033[1;36m\]"
| RED="\[\033[0;31m\]"
| DARKRED="\[\033[1;31m\]"
| PURPLE="\[\033[0;35m\]"
| DARKPURPLE="\[\033[1;35m\]"
| BROWN="\[\033[0;33m\]"
| YELLOW="\[\033[1;33m\]"
| GRAY="\[\033[0;37m\]"
| WHITE="\[\033[1;37m\]"
| NOCOLOR="\[\033[0m\]"
|
|
| # Now define the colors dynamically
| case "$HOSTNAME" in
| 256bit*) CHOST="${YELLOW}" ;;
| t41*) CHOST="${DARKRED}" ;;
| *) CHOST="${DARKCYAN}" ;;
| esac
|
| # error_management. If the previous
| # command returned something <> 0
| # we will show a red bg color
| if [ "$BG" -gt 0 ];
| then
| DEFAULT="\[\033[0;41m\]"
| else
| DEFAULT="${DARKPURPLE}"
| fi
|
|
| if [ $EUID -eq 0 ];
| then
| CUSER="${DARKRED}"
| PRMPT="#"
| else
| CUSER="${DARKBLUE}"
| PRMPT="\$"
| fi
|
| # 1 Zeile
| PS1="${CUSER}\u${NOCOLOR}${DEFAULT}@${CHOST}\h${NOCOLOR}${DEFAULT}:${DARKGREEN}\w${DEFAULT}${PRMPT} ${NOCOLOR}"
| }
`----
Setzt den Prompt für Bash in Abhängigkeit vom User und Maschine und
dem Return Code des letzten Commands. Aufruf:
,----
| ~$ display_prompt
| ~$ PROMPT_COMMAND=display_prompt
`----
das Setzen vom PROMPT_COMMAND ist nötig, damit jedes Mal der Return
Code neu ausgewertet wird.
Mit freundlichen Grüßen
Christian
--
"Hit any key to continue" is a lie.