Bash Scripting Reference

Bash scripting fundamentals and advanced patterns. Streams, process substitution, arrays, functions.

Topics

Topic Description

Streams

File descriptors, redirection, stderr handling

Pipes

Pipelines, process substitution, subshells

Variables

Parameter expansion, defaults, substitution

Tests

Test expressions, conditionals, comparisons

Loops

for, while, until, loop control

Arrays

Indexed and associative arrays

Functions

Function definition, scope, return values

ANSI

Escape sequences, colors, cursor control

Glob Patterns

Wildcards, extended globbing, nullglob, globstar

Brace Expansion

Comma lists, ranges, zero-padding, cartesian product

Process Substitution

<() and >() — diff commands, join outputs, feed loops

jq Sysadmin

jq patterns for system administration

Refactoring

Reduce complexity, eliminate anti-patterns, safer scripts

Heredocs

Heredoc, here-string, script generation, tee capture

Exit Codes

$?, set -euo pipefail, &&, ||, script safety

Traps

trap EXIT, signal handling, temp file cleanup

Parameter Expansion

${var}, defaults, path ops, substitution, case conversion

Safe Workflows

Interactive validation, confirm-before-act, safe delete patterns

Script Lifecycle

Four-stage /tmp/ → staging → scripts → ~/.local/bin/ progression