# Set the title bar to user@host: pwd _TITLE_BAR="\u@\h: \w" _SET_TITLE_BAR="\[\e]0;$_TITLE_BAR\a\]" # Shorten $HOME to ~ in PWD _pwd_home () { if [[ "$PWD" =~ ^"$HOME"(/|$) ]]; then echo "~${PWD#$HOME}" else echo $PWD fi } # Shorten path dir names _pwd () { DIR=$(_pwd_home) [ "$DIR" != "/" ] && [ "$DIR" != "~" ] && printf '%s/' $(dirname "$DIR" | tr / '\n' | cut -c-1) printf "$(basename "$DIR")" } _DIR='$(_pwd)' # Color codes _GREEN="\[\033[32;1m\]" _DIM="\[\e[32;2m\]" _OLIVE="\[\e[33;2m\]" _RESET="\[\e[0m\]" _HOST=$(if [ -z "$SSH_CLIENT" ]; then echo $_DIM; else echo $_OLIVE; fi) # Nested shell level _SHLVL=$(printf '\$%.0s' $(seq 1 $SHLVL)) # SSH detection _SSH='$([ ! -z "$SSH_CLIENT" ] && echo "=>")' # Build prompt export PS1="$_SET_TITLE_BAR$_DIM[\A \u@$_RESET$_HOST\h$_DIM:$_RESET$_GREEN$_DIR$_RESET$_DIM]$_SHLVL$_RESET " export HISTCONTROL=ignoreboth