Shell
Full course · 21 lessonsShell scripting (Bash) is the universal glue of software engineering. It automates deployments, manages infrastructure, processes data pipelines, and controls the entire development toolchain. These are the definitive free resources — vetted, current, and complete.
Getting Started with Shell Scripting
Shebang, echo, permissions, and your first script.
Variables and Expansion
Assignment, quoting, parameter expansion, and special variables.
Arithmetic and Exit Status
Integer math, command substitution, and exit codes.
Conditionals and test
if/elif/else, test brackets [ ], and compound conditions.
Loops: for, while, until
Iteration over lists, reading files, and loop control.
Functions
Define, call, and scope functions with arguments.
Globbing and Pattern Matching
Filename expansion, wildcards, and extglob patterns.
String Manipulation
Substring, length, replacement, and case conversion.
Arrays
Indexed and associative arrays for structured data.
Input/Output Redirection
Redirect stdin/stdout/stderr, pipes, and heredocs.
Job Control and Processes
Background jobs, signals, and process management.
Text Processing with sed
Stream editing: substitution, deletion, and ranges.
Text Processing with awk
Column extraction, conditions, and summary reports.
Regular Expressions with grep
grep patterns, extended regex, and ripgrep alternatives.
Advanced Parameter Expansion
Defaults, indirection, and case modification.
Debugging and Error Handling
set -euxo, tracing, and defensive scripting.
Environment and Configuration
ENV vars, exports, and config file patterns.
find and xargs
Find files, execute commands, and parallel processing.
Shell Scripts in Practice
Real CLI tools: argument parsing and help text.
Performance and Best Practices
Avoid subshells, optimize loops, and follow style guides.
Ecosystem and Next Steps
Bash alternatives, tools, and where to go next.
Free Books
The Linux Command Line (William Shotts)
A comprehensive guide from basic keystrokes through advanced multi-file Bash shell scripts. Free PDF download.
Gregs Wiki — BashGuide
Considered the gold standard for learning proper Bash scripting with modern syntax, best practices, and anti-pattern avoidance.
Advanced Bash-Scripting Guide (TLDP)
The definitive deep-dive textbook for intermediate-to-advanced scripters covering complex data manipulation and system administration.
Official Documentation
Interactive Courses
Video Courses
Practice & Challenges
Reference & Cheatsheets
News & Updates
Community
Reddit r/bash
Active technical community focused on Bash scripting, troubleshooting, and code reviews.
Unix & Linux Stack Exchange
Premier Q&A for deep architectural inquiries, complex pipeline problems, and shell-specific nuances.
Stack Overflow — Bash Tag
Definitive forum for debugging shell scripts, quoting issues, and scripting best practices.

