Shell
- K2A-E-1Shell BasicsJun 3, 2020
What a shell is, sh vs bash vs other shells, shebangs, ways to run a script, comments, exit codes, and the strict-mode flags worth turning on
- K2A-E-2Shell Variables and ParametersJun 3, 2020
Variable assignment, expansion, scope, environment vs shell-local, command substitution, and the special parameters (`$?`, `$$`, `$@`, `$*`, etc.)
- K2A-E-3Shell Strings and ArraysJun 3, 2020
Quoting rules, parameter expansion (length, substring, pattern removal, replacement, defaults, case), and indexed + associative arrays
- K2A-E-4Shell Arithmetic and Test OperatorsJun 3, 2020
Integer arithmetic forms (`$((...))`, `((...))`, `let`, `expr`), the three test commands (`test`, `[`, `[[`), and numeric / string / file operators
- K2A-E-5Shell Control FlowJun 3, 2020
`if`, `for` (list and C-style), `while`, `until`, `case`, `select`, infinite loops, and `break` / `continue`
- K2A-E-6Shell Functions and I/O RedirectionJun 3, 2020
Function definition, arguments, return status, `local` scope, file descriptors, redirects, heredoc / here-string, pipes, process substitution, and the `echo` / `printf` / `read` builtins