Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # .bashrc-prompt
- ## prompt
- #PS1="\\u@\\h:\\w\\$ " #factory default
- ## define colors
- BLACK='\e[30m'
- RED='\e[31m'
- GREEN='\e[32m'
- YELLOW='\e[33m'
- BLUE='\e[34m'
- MAGENTA='\e[35m'
- CYAN='\e[36m'
- WHITE='\e[37m'
- #BRIGHT='\e[01m'
- #NORMAL='\e[0m'
- #BLINK='\e[05m'
- #REVERSE='\e[07m'
- # note: must be `function [FUNCNAME]' declaration otherwise Bash will throw an
- # error
- # ... No, I don't know why.
- function _cmod() {
- local \
- mod="$1"
- shift 1
- if [ -n "$*" ]; then
- echo "$*" |
- sed -e 's,\\e\[\([0-9]*;\)\?,\\e['"$mod"';,g'
- else
- echo '\e['"$mod"'m'
- fi
- }
- function BRIGHT() {
- _cmod 01 "$*"
- }
- function NORMAL() {
- _cmod 0 "$*"
- }
- function BLINK() {
- _cmod 05 "$*"
- }
- function REVERSE() {
- _cmod 07 "$*"
- }
- case "$HOSTNAME" in
- 'necronomicon.slackware')
- BASE_COLOR="$RED"
- BASE_COLOR_ROOT="$BLUE"
- ;;
- 'shell.sf.net')
- BASE_COLOR="$GREEN"
- BASE_COLOR_ROOT="$YELLOW"
- ;;
- *)
- BASE_COLOR="$MAGENTA"
- BASE_COLOR_ROOT="$CYAN"
- ;;
- esac
- if [ "$UID" -eq 0 ]; then
- PS1='\['$(BRIGHT "$BLACK")'\]=[\l \['$BASE_COLOR_ROOT'\]\u\['$(NORMAL "$WHITE")'\]@\['$BASE_COLOR_ROOT'\]\h\['$WHITE'\] \w \['$(BRIGHT "$BLACK")'\]]=\['$WHITE'\] \$\['$(NORMAL)'\] '
- else
- PS1='\['$(BRIGHT "$BLACK")'\]=[\l \['$BASE_COLOR'\]\u\['$(NORMAL "$WHITE")'\]@\['$BASE_COLOR'\]\h\['$WHITE'\] \w \['$(BRIGHT "$BLACK")'\]]=\['$WHITE'\] \$\['$(NORMAL)'\] '
- fi
- # prepend error string checking, as any prior command will overwrite $?
- #PROMPT_COMMAND="err=\$?; [ \$err -ne 0 ] && echo -e '$NORMAL$YELLOW'\"[\$err]\"${PROMPT_COMMAND:+ ; $PROMPT_COMMAND}"
- ## (this one ensures $err doesn't escape and uses better quoting)
- PROMPT_COMMAND='(err="$?"; [ "$err" -eq 0 ] || echo -e '\'"$(NORMAL "$YELLOW")"\''"[$err]")'"${PROMPT_COMMAND:+ ; $PROMPT_COMMAND}"
- # clean up
- unset \
- BLACK \
- RED \
- GREEN \
- YELLOW \
- BLUE \
- MAGENTA \
- CYAN \
- WHITE \
- BRIGHT \
- NORMAL \
- BLINK \
- REVERSE \
- _cmod \
- BASE_COLOR \
- BASE_COLOR_ROOT
- # April Fools' Day prank
- if [ "$(date +%m%d)" == '0401' ]; then
- PROMPT_COMMAND+=' ; (if [ $RANDOM -le 8000 ]; then printf "\0337\033[%d;%dH\033[4%dm \033[m\0338" $((RANDOM%LINES+1)) $((RANDOM%COLUMNS+1)) $((RANDOM%8)); fi)'
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement