Changing Prompt and xterm Title in Bash
by admin on May.12, 2010, under Linux
It’s really useful to not only be able to see the user and directory in your prompt but to have different colours for different users/servers - like a different colour for root or production boxes. Here is the code I use - just put it in a .profile in the users’s home directory (or in /etc/profile for globally):
# Set xterm title:
SHOSTNAME=`hostname -s`
PROMPT_COMMAND='if [ "${TERM}" = "xterm" -o "${TERM}" = "xterm-color" ];
then
if [ -n "${XTITLE}" ];
then
echo -ne "\033]0;${XTITLE}\007";
else
echo -ne "\033]0;[${USER}@${SHOSTNAME}:${PWD}]\007" | sed -e "s@${HOME}@\~@";
fi;
fi'
# Set Bash Prompt:
if [ "$BASH" ]; then
PS1='\[\033[1;36m\][\u@\h:\w]\$\[\033[0m\] '
# alias ls='ls --color'
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
export PS1 PROMPT_COMMAND SHOSTNAME
You can change the colours using the following codes:
# Black 0;30 Dark Gray 1;30 # Blue 0;34 Light Blue 1;34 # Green 0;32 Light Green 1;32 # Cyan 0;36 Light Cyan 1;36 # Red 0;31 Light Red 1;31 # Purple 0;35 Light Purple 1;35 # Brown 0;33 Yellow 1;33 # Light Gray 0;37 White 1;37