This guide provides an intermediate to advanced level tutorial on shell scripting. It assumes no previous knowledge and progresses quickly to teach scripting techniques. The guide serves as a textbook, manual for self-study, and reference. It contains many examples, tables, and covers Bash up to version 4.0. The guide covers almost every aspect of shell scripting and provides an introduction to basic programming as well.