I have recently switched from bash to zsh. zsh has nice command completion and it also suggests command if you mistype. Mac OS-X comes with zsh installed, to switch to zsh go to system preferences -> accounts, right click on the account select advanced options and select zsh for login shell. Also along the way I picked up a new command, its the bang command I would like to share, bare in mind this is not unique to zsh and is also available in bash. Have fun programming :).
!! - To run last executed command !$ - Last argument of previous command !* - All arguments !!:1 - First argument
References
http://www.zsh.org/
http://vafer.org/blog/20070103101542

