/etc/bash/bashrc or ~/.bashrc
One of the things you’ll notice about Linux distros is that they often have different color schemes for the command line. I always found Gentoo’s default to be head and shoulders above all others. That’s great if you’re using Gentoo, but what if you don’t? Well this post includes the full Gentoo .bashrc file (as of the final 2008 release of Gentoo). And if you’re using ArchLinux, you can be lazy and simply use my pre-existing package in AUR.
# /etc/bash/bashrc
#
# This file is sourced by all *interactive* bash shells on startup,
# including some apparently interactive shells such as scp and rcp
# that can't tolerate any output. So make sure this doesn't display
# anything or bad things will happen !
# Test for an interactive shell. There is no need to set anything
# past this point for scp and rcp, and it's important to refrain from
# outputting anything in those cases.
if [[ $- != *i* ]] ; then
# Shell is non-interactive. Be done now!
return
fi
# Bash won't get SIGWINCH if another process is in the foreground.
# Enable checkwinsize so that bash will check the terminal size when
# it regains control. #65623
# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
shopt -s checkwinsize
# Enable history appending instead of overwriting. #139609
shopt -s histappend
# Change the window title of X terminals
case ${TERM} in
xterm*|rxvt*|Eterm|aterm|kterm|gnome*|interix)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
;;
screen)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'
;;
esac
use_color=false
# Set colorful PS1 only on colorful terminals.
# dircolors --print-database uses its own built-in database
# instead of using /etc/DIR_COLORS. Try to use the external file
# first to take advantage of user additions. Use internal bash
# globbing instead of external grep binary.
safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
match_lhs=""
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \
&& match_lhs=$(dircolors --print-database)
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
if ${use_color} ; then
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489
if type -P dircolors >/dev/null ; then
if [[ -f ~/.dir_colors ]] ; then
eval $(dircolors -b ~/.dir_colors)
elif [[ -f /etc/DIR_COLORS ]] ; then
eval $(dircolors -b /etc/DIR_COLORS)
fi
fi
if [[ ${EUID} == 0 ]] ; then
PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
else
PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
fi
alias ls='ls --color=auto'
alias grep='grep --colour=auto'
else
if [[ ${EUID} == 0 ]] ; then
# show root@ when we don't have colors
PS1='\u@\h \W \$ '
else
PS1='\u@\h \w \$ '
fi
fi
# Try to keep environment pollution down, EPA loves us.
unset use_color safe_term match_lhs
Be aware that if, like me, you tried to cut-and-paste the above, you’ll need to change the fancy quotes to regular ones, ie, ‘ to ', ’ to ', ” to ", and “ to ".
I copy and pasted from here.. http://www.jeremysands.com/archlinux/gentoo-bashrc-2008.0
just switched from gentoo to ubuntu (wana give it a try) and the terminal was one of the most annoying parts of the switch. Thanks.
Hy
I 2 like bash of gentoo the most, but any chance you know where to find the 2009 or 2010 version?
all you really need are these lines, you can add them at the bottom of /etc/bashrc or ~/.bashrc
if [[ ${EUID} == 0 ]] ; then
PS1=’\[33[01;31m\]\h\[33[01;34m\] \W \$\[33[00m\] ‘
else
PS1=’\[33[01;32m\]\u@\h\[33[01;34m\] \w \$\[33[00m\] ‘
fi