Competencies: Programming Languages > Bash & Shell
Bash & Shell
Body of Knowledge
| Topic | Description | Relevance | Career Tracks |
|---|---|---|---|
Bash Fundamentals |
Variables, quoting, expansion, control structures, functions, exit codes |
Critical |
DevOps Engineer, SRE, Linux Administrator |
Shell Scripting Best Practices |
Error handling, set options, shellcheck, portable scripting, script organization |
High |
DevOps Engineer, SRE, Linux Administrator |
Process Management |
Backgrounding, job control, signals, traps, process substitution, subshells |
High |
DevOps Engineer, SRE, Systems Developer |
Input/Output Handling |
Redirection, pipes, here documents, read command, file descriptors |
Critical |
DevOps Engineer, SRE, Linux Administrator |
String Manipulation |
Parameter expansion, substring, replacement, pattern matching without external tools |
High |
DevOps Engineer, SRE, Linux Administrator |
Arrays & Associative Arrays |
Indexed arrays, associative arrays, array operations, iteration patterns |
Medium |
DevOps Engineer, SRE |
Conditional Expressions |
test command, [[ ]] syntax, file tests, string comparisons, numeric comparisons |
Critical |
DevOps Engineer, SRE, Linux Administrator |
Command Substitution |
$() syntax, nested substitution, capturing output, avoiding common pitfalls |
High |
DevOps Engineer, SRE |
Script Security |
Input validation, injection prevention, safe handling of user input, privilege management |
Critical |
DevOps Engineer, Security Engineer, SRE |
Zsh Differences |
Zsh-specific features, oh-my-zsh, plugins, compatibility with bash |
Medium |
DevOps Engineer, Developer |
Interactive Shell |
Aliases, functions, history, completion, prompt customization, startup files |
High |
All Engineering |
Personal Status
| Topic | Level | Evidence | Active Projects | Gaps |
|---|---|---|---|---|
To be populated |
— |
— |
— |
— |