A good intro is a talk given by Ryan Tomayko called the Shell Hater's Handbook[1]. His POSIX Shell and Utilities is also a great reference[2]. For a more comprehensive guide, I recommend the dash man pages[3]. Dash is shell, the good parts.
[1] http://shellhaters.heroku.com/
[2] http://shellhaters.heroku.com/posix
[3] http://linux.die.net/man/1/dash