Here’s the list of shell programming resources I recommend to my students.
Basic skills for Unix newbies
These tutorials cover the basic skills you need to perform basic tasks on Unix systems. Since 99% of all web sites are deployed on Unix/Linux, you really do need to know this stuff.
- Command Line Crash Course This tutorial stands above the others because it provide lots of examples and exercises. Best of all, it’s honest, and comes with a full blast of Zed Shaw.
- UNIX Tutorial for Beginners
- Learning the Shell
- Unix for Mac OS X Users
Once you learn basic Shell skills, you’ll want to learn about Shell programming.
- Shell Programming
- Advanced Bash-Scripting Guide
- Linux Shell Scripting Tutorial—A Beginner’s handbook
Unix Shell Programming by Michael Kochan is my go-to shell book.
The best course I know of is Greg Boyd’s face-to-face CS 160A and 160B courses at CCSF. Take them if your live in the Bay Area.