← Languages

Shell

Full course · 21 lessons

Shell 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.

Knowledge Course
01

Getting Started with Shell Scripting

Shebang, echo, permissions, and your first script.

45 min
02

Variables and Expansion

Assignment, quoting, parameter expansion, and special variables.

45 min
03

Arithmetic and Exit Status

Integer math, command substitution, and exit codes.

45 min
04

Conditionals and test

if/elif/else, test brackets [ ], and compound conditions.

45 min
05

Loops: for, while, until

Iteration over lists, reading files, and loop control.

45 min
06

Functions

Define, call, and scope functions with arguments.

45 min
07

Globbing and Pattern Matching

Filename expansion, wildcards, and extglob patterns.

45 min
08

String Manipulation

Substring, length, replacement, and case conversion.

45 min
09

Arrays

Indexed and associative arrays for structured data.

45 min
10

Input/Output Redirection

Redirect stdin/stdout/stderr, pipes, and heredocs.

45 min
11

Job Control and Processes

Background jobs, signals, and process management.

45 min
12

Text Processing with sed

Stream editing: substitution, deletion, and ranges.

45 min
13

Text Processing with awk

Column extraction, conditions, and summary reports.

45 min
14

Regular Expressions with grep

grep patterns, extended regex, and ripgrep alternatives.

45 min
15

Advanced Parameter Expansion

Defaults, indirection, and case modification.

45 min
16

Debugging and Error Handling

set -euxo, tracing, and defensive scripting.

45 min
17

Environment and Configuration

ENV vars, exports, and config file patterns.

45 min
18

find and xargs

Find files, execute commands, and parallel processing.

45 min
19

Shell Scripts in Practice

Real CLI tools: argument parsing and help text.

60 min
20

Performance and Best Practices

Avoid subshells, optimize loops, and follow style guides.

45 min
21

Ecosystem and Next Steps

Bash alternatives, tools, and where to go next.

45 min
Curated Resources