How do I get a colored bash?
How can I get the bash to look colored like this?
Solution 1:
Open ~/.bashrc
in text editor and uncomment line:
#force_color_prompt=yes
to be:
force_color_prompt=yes
save then execute source ~/.bashrc
Solution 2:
I came up with this solution:
- open ~/.bashrc in an editor
-
copy this and add it at the end of .bashrc file:
PS1='\[\033[1;36m\]\u\[\033[1;31m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;31m\]\$\[\033[0m\] '
-
save the file and restart bashrc:
source ~/.bashrc
For a full list of available colors and further options look up these links:
- wiki.ubuntuusers
- bash-color-chart
Solution 3:
A version that is a bit more 'general' - should work with a varied environment:
(depends on terminfo)
Insert this in your $HOME/.bashrc
:
function fgtab {
echo "tput setf/setb - Foreground/Background table"
for f in {0..7}; do
for b in {0..7}; do
echo -en "$(tput setf $f)$(tput setb $b) $f/$b "
done
echo -e "$(tput sgr 0)"
done
}
# The prompt in a somewhat Terminal -type independent manner:
cname="$(tput setf 3)"
csgn="$(tput setf 4)"
chost="$(tput setf 2)"
cw="$(tput setf 6)"
crst="$(tput sgr 0)"
PS1="\[${cname}\]\u\[${csgn}\]@\[${chost}\]\h:\[${cw}\]\w\[${csgn}\]\$\[${crst}\] "
Then execute source ~/.bashrc
.
After that, fgtab
will display a color table with numbers. Those numbers are for tput setf n
and tput setb n
where 'n' is the number, 'f' stands for 'foreground' and 'b' stands for 'background' color.
tput sgr 0
will reset foreground and background colors to default.
And as you can see, changing the colors used for the prompt becomes really easy (just edit the same number in $HOME/.bashrc
as you wish).
Add an $(tput setb n)
in $cname
if you wish to have ALL of the prompt with background n.