.bashrc
A .bashrc or .bash_profile file contains settings that are applied to non-interactive or interactive shells respectively.
Simple things
Setting the PATH
It's often nice to have more binaries directly accessible in your PATH environment variable. To do this, I use the following settings:
os=`uname -s` if [ "$os" = "SunOS" ]; then export PATH=/usr/ccs/bin:/usr/site/bin:/usr/sbin:/usr/bin:/bin:/opt/csw/bin:/opt/csw/sbin:/usr/sfw/bin:/opt/sfw/bin:/usr/local/bin else if [ "$os" = "Linux" ]; then export PATH=/usr/site/bin:/usr/sbin:/usr/bin:/usr/local/bin:/bin fi fi if [ "$LOGNAME" = "root" ]; then export PATH=$PATH:/sbin fi
Changing the prompt
Having a colored prompt can be helpful to notice quickly where the prompt is in a long listing of output, and having a reminder who you are logged in as and where you are never hurts. To accomplish this, I use the following prompt:
export PS1="\[\033[34m\]\u\[\033[0m\]@\[\033[32m\]\h\[\033[0m\]:\[\033[31m\]\w\[\033[0m\]\\$ "
This gives your username in blue (i.e., if you sudo -s it'll be root instead of your username) followed by a black @ followed by the hostname of the machine you're on followed by a colon followed by the path to the current directory, followed by the sigil $ or # for user or root respectively. This format has the advantage of being usable by scp; if you have to copy a file from that directory onto another machine, you can copy/paste the whole string into your scp command.
Changing the terminal name
Setting the name of the terminal is reflected in the title bar in gnome-terminal, or with a similar mechanism for other terminals (or GNU screen). I use the following settings:
case $TERM in xterm*) PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"' ;; screen*) PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"' ;; *) ;; esac
Changing your default pager
more is for losers. Use less instead.
export PAGER=less