← 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