Skip to main content
CoursebeginnerFree

The Missing Semester of Your CS Education

by Anish Athalye, Jon Gjengset, Jose Javier Gonzalez Ortiz · MIT CSAIL

MIT's short lecture series on the tooling CS curricula skip. The opening lectures cover the shell, shell scripting and the command-line environment; later ones handle editors, version control, debugging and profiling. Videos, notes and exercises are free.

Visit resource

More resources on Bash & Shell Scripting

CourseFree

The Missing Semester of Your CS Education: Shell Tools and Scripting

Fastest credible on-ramp: an hour of lecture plus exercises gets a learner from zero to writing and debugging real scripts, framed as engineering practice rather than syntax drill. An MIT lecture with video and exercises on shell scripting and tooling: variables, control flow, globbing, and combining find, grep, xargs and process substitution. Ends with exercises that build small automation scripts from scratch.

WebsiteFree

Bash Pitfalls

Sixty-five annotated examples of shell code that looks correct and is not, each with the failure mechanism explained and a safe rewrite. Working through it shows why parsing ls, unquoted expansions and set -e break production scripts. BashGuide builds the model, Pitfalls stress-tests it against the specific failure modes that separate a script that works on your laptop from one that works on a fleet.

Book

Classic Shell Scripting

Robbins and Beebe on writing portable POSIX shell scripts, with substantial coverage of the surrounding toolset: grep, sed, awk, sort, find and xargs. Predates Bash 5 but remains the standard treatment of text-processing pipelines.

WebsiteFree

Google Shell Style Guide

Google's production conventions for Bash: file layout, quoting, variable expansion, function naming, checking return values, avoiding eval, and recognising when a script has outgrown the shell. Answers the question the reference manual deliberately does not: of the many legal ways to write something, which one survives a code review. Includes the 100-line rule — the honest guidance that shell has a ceiling. Short enough to read once and reuse as a review checklist.

WebsiteFree

ShellCheck

Static analysis tool that flags quoting bugs, word-splitting errors, portability problems and misused constructs in shell scripts. Paste a script into the web version or run it locally; every warning links to a wiki page explaining the failure and the fix.

WebsiteFree

GNU Bash Reference Manual

The official manual for Bash 5.3, documenting shell syntax, expansions, redirections, builtins, variables, job control, line editing and history. Written by the maintainers, it is the authoritative statement of what each construct actually does.

See all Bash & Shell Scripting resources →