Bash31 phases · 122 topics
Progress
0 / 122
Foundations
Basic Parameter Expansion Forms
String Manipulation Expansion
Indirect Expansion & Name References
Core Concepts
Arrays & Array Expansion
Pattern Matching & Wildcard Expansion
Arithmetic & Base Conversion
Intermediate Skills
Here Documents & Here Strings
Subshell Execution (())
Process Substitution (<(cmd), >(cmd))
Advanced Topics
Command Substitution ($(), backtick)
Subshell Variable Scope
Nested Subshells
Expert Level
Process Substitution vs Pipes
Coprocesses (coproc)
Indexed Arrays (declare -a)
Mastery
Associative Arrays (declare -A, Bash 4+)
Array Operations (slice, concat, transform)
Looping Over Arrays
Ecosystem
Array Sorting & Deduplication
Array from Command Output (mapfile)
Multi-Dimensional Arrays (simulated)
Architecture
Bash Regex with =~
Bracket Expressions & POSIX Character Classes
Extended Globbing (extglob)
Optimization
Sed with Extended Regex
Awk Pattern Matching
Grep and Perl-Compatible Regex
Deployment
Regex Performance in Bash
File Descriptor Manipulation
Redirection Operators (<, >, >>, 2>&1)
Phase 11
Named Pipes (FIFO)
IO Redirection Order
Socket Redirection (/dev/tcp)
Phase 12
Buffer & Race Conditions in I/O
Redirection with exec
Function Definition & Return
Phase 13
Local Variables (local) & Scoping
Function Arguments ($@, $*, shift)
Recursive Functions
Phase 14
Function Export (export -f)
Trap in Functions
Autoloading Functions
Phase 15
Signal Handling (trap)
Common Signals (SIGINT, SIGTERM, SIGHUP)
Cleanup Handler Pattern (trap EXIT)
Phase 16
Signal Masking & Propagation
Process Group Signaling (kill -- -PGID)
Timeouts with trap ALRM
Phase 17
Debugging with trap DEBUG
set -e, -u, -o pipefail
Bash Execution Tracing (set -x, PS4)
Phase 18
ShellCheck Static Analysis
Bash -n Syntax Checking
errexit Pitfalls
Phase 19
Debug Hooks (PS4, DEBUG trap)
Bash Debugger (bashdb)
Process Startup Overhead (exec vs builtin)
Phase 20
Avoid Useless forking
Brace Expansion Speed
printf vs echo
Phase 21
Built-in vs External Commands
Reading Files Efficiently (read -N, mapfile)
Parallel Execution Overhead
Phase 22
Injection Attacks (eval, $() in strings)
Sanitizing Input
PATH & Environment Attacks
Phase 23
File Permission Checks
Temporary File Safety (mktemp)
setuid Script Risks
Phase 24
Shellshock (CVE-2014-6271)
/dev/tcp & /dev/udp
Netcat (nc) Patterns
Phase 25
curl REST API Scripting
HTTP Server in Bash (socat)
DNS Queries (host, dig)
Phase 26
SSH Automation (ssh, scp, rsync)
Network Diagnostics (ping, traceroute, mtr)
Grep Patterns & Performance
Phase 27
Sed Commands & Addresses
Awk Scripting (Records, Fields, Arrays)
Cut, Paste, Join, Sort, Uniq
Phase 28
Pipe & Process Chains
Xargs Tricks (Parallel, Delimiter)
Large File Streaming
Phase 29
Background Processes (&)
Wait for Job Completion
GNU Parallel Tool
Phase 30
xargs -P (parallel)
Job Control (fg, bg, jobs, disown)
Semaphore Pattern with flock
Phase 31
Parallel Download Scripts
Bash RoadmapBash
Space mark complete · Esc close · Drag pan · Wheel zoom