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

 — 

 — 

 — 

 —