PROMPT_COMMAND=(__prompt_command "${PROMPT_COMMAND[@]}") # custom terminal prompt format. __prompt_command() { local last_status="${?}" local is_error=false local is_root=false if [[ $last_status != 0 && $last_status != 130 ]]; then is_error=true fi if [[ "$UID" -eq 0 ]]; then is_root=true fi # add newline PS1="\n" # set error red if $is_error; then PS1+="\[${color_red}\]" PS1+="[" else PS1+="\[${color_default}\]" PS1+="[" fi # add time PS1+="\[${color_white}\]" PS1+="$(date +%H:%M) " # set root red if $is_root; then PS1+="\[${color_red}\]" else PS1+="\[${color_cyan}\]" fi # add user, host and working dir PS1+="\u@\h " PS1+="\[${color_blue}\]" PS1+="\w" # set error red if $is_error; then PS1+="\[${color_red}\]" PS1+="] " else PS1+="\[${color_default}\]" PS1+="] " fi # command on new line PS1+="\n" PS1+="\[${color_default}\]" # set user tag if $is_root; then PS1+="# " else PS1+="$ " fi }