set_prompt() { local EXIT_STATUS="$?" local COLOR_RESET='\[\033[0m\]' # User settings if (( EUID == 0 )); then local COLOR_USER='\[\033[38;2;180;40;120m\]' # Purple-red (root) local PROMPT_SYMBOL='#' else local COLOR_USER='\[\033[38;2;44;162;221m\]' # Azure blue (user) local PROMPT_SYMBOL='$' fi # Host and path local COLOR_HOST='\[\033[38;2;44;180;70m\]' # Emerald green local COLOR_PATH='\[\033[38;2;126;98;247m\]' # Soft purple # Dynamic symbol color if (( EXIT_STATUS != 0 )); then local COLOR_SYMBOL='\[\033[38;2;255;50;50m\]' # Bright red (error) else local COLOR_SYMBOL='\[\033[38;2;67;91;18m\]' # Olive green (success) fi # Final prompt assembly PS1="${COLOR_USER}\u${COLOR_RESET}@${COLOR_HOST}\h${COLOR_RESET}:${COLOR_PATH}\w${COLOR_RESET}${COLOR_SYMBOL}${PROMPT_SYMBOL}${COLOR_RESET} " } PROMPT_COMMAND=set_prompt