See man bash
and search for "PROMPTING".
Also useful, is a reference to ANSI escape codes.
# Simple prompt
# [user@host ~/working/dir]$
# Color
PS1='[\[\e[32m\]\u@\h \[\e[34m\]\w\[\e[0m\]]\$ '
# ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^
# + Green + Blue + Reset
# No color
PS1='[\u@\h \w]\$ '
# Multi-line prompt
# $[user@host ~/working/dir]
# >
# Color
PS1='\$[\[\e[32m\]\u@\h \[\e[34m\]\w\[\e[0m\]]\n> '
# ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^
# + Green + Blue + Reset
# No color
PS1='\$[\u@\h \w]\n> '
# Color prompt based on last exit code (only the ">" is colored)
# ~/working/dir>
PS1='\w$([[ "$?" = "0" ]] && echo -e "\033[32m" || echo -e "\033[31m")>\[\e[0m\] '
# ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^
# + Green + Red + Reset
You can also just run the
PS1=...
lines directly in your terminal to get a preview of what they look like.