A shell is the program that turns typed commands into actions: it reads a line, interprets it, runs it, and repeats. Bash (the Bourne Again SHell) is the default shell on most Linux systems and macOS, and it is the language behind build scripts, CI/CD pipelines, containers, and server automation. This track removes the mystery around the shell, compares the major interpreters, and teaches you to write real Bash on both Linux and Windows.
| # | BASH | Topic | Description |
|---|---|---|---|
| PHASE 1: THE SHELL | |||
| 01 | What Is a Shell? | Terminal, shell, and kernel; the read-eval-print loop. | |
| 02 | Shell Interpreters Compared | sh, dash, bash, zsh, fish, ksh, and PowerShell. | |
| 03 | Running Scripts on Linux & Windows | Native, WSL2, Git Bash, Cygwin, shebang, permissions. | |
| PHASE 2: THE LANGUAGE | |||
| 04 | Commands & Syntax | Simple commands, builtins, PATH, aliases, substitution. | |
| 05 | Quoting & Escaping | Word splitting, single and double quotes, escapes. | |
| 06 | Variables & Parameters | Assignment, special parameters, string operations. | |
| 07 | Expansion & Globbing | Brace, tilde, command, and filename expansion order. | |
| 08 | Arrays & Associative Maps | Indexed arrays and key-value maps. | |
| 09 | Redirection & Pipelines | Standard streams, pipes, here-docs, process substitution. | |
| PHASE 3: PROGRAMMING | |||
| 10 | Conditionals & Tests | if, test, [[ ]], case, and boolean logic. | |
| 11 | Loops & Iteration | for, while, until, select, break, and continue. | |
| 12 | Functions | Arguments, return codes, local scope, and libraries. | |
| 13 | Arithmetic & Math | Integer math, arithmetic expansion, and bc. | |
| PHASE 4: SYSTEM & TEXT | |||
| 14 | Files & Directories | File tests, find, reading files, and line-by-line loops. | |
| 15 | Text Processing | grep, sed, awk, and regular expressions. | |
| 16 | Processes, Signals & Jobs | Background jobs, wait, traps, and subshells. | |
| 17 | Environment & Startup Files | Login, interactive, and non-interactive shell startup. | |
| PHASE 5: ROBUST ENGINEERING | |||
| 18 | Robust Script Engineering | Strict mode, ShellCheck, debugging, and testing. | |
| PHASE 6: PRACTICE & REFERENCE | |||
| 19 | Lab Examples | Run and modify single-file practice scripts. | |
| 20 | Study Projects | Backups, reports, CLI menus, and health checks. | |
| 21 | References & Tools | Manuals, guides, linters, and practice sites. | |
For the full categorized list — manuals, free books, linters, practice games, and sample repositories — see the References & Tools page.