Shell Configs
Below is my current bash profile (.bashrc).
Leo's .bashrc
- .bashrc
- Solaris? Bail out using /bin/sh and skip all the
- bash fancinesses which applies mostly to linux.
if [ "`uname`" = "SunOS" ] ; then
exec sh
fi
- The 'free' command doesn't exist in FreeBSD. Will
- run sysctl and show memory information instead.
if [ "`uname`" = "FreeBSD" ] ; then
alias free="sysctl hw.physmem"
fi
- Alias vi to vim only if vim exists
command -v vim >/dev/null 2>&1 if [ $? -eq 0 ] ; then
alias vi=vim
fi
- Aliases to ls and grep with nice options as default
alias ls="ls --color -F -h" alias grep="grep --color=always --line-buffered"
Details
ls
The command:
ls --color=always -F -h
Flags:
--color[=auto]
Ensures that the output is colorized only to stdout. We do not want colors to go through pipes. The 'auto' value is implied as it is the default option.
-F
Prints a forward slash on directories.
-h
Prints sizes in human readable form
grep
The command:
grep --color=always --line-buffered
Flags:
--color=always
Ensures output is colored even if not going to stdout. Makes it nice when piping to more or less.
--line-buffered
As I usually deal with lines of texts, this makes piping multiple greps together work properly.