Bash
Bash (Bourne Again SHell) is a Unix command-line interpreter and scripting language used to execute commands, chain programs together, and automate system tasks.
119 resources across 2 libraries
Glossary Terms(7)
Zsh
Zsh (Z shell) is an extended Unix shell that builds on the Bourne shell with advanced scripting features, improved interactive completion, and a large plugin a…
Bash
Bash (Bourne Again SHell) is a Unix command-line interpreter and scripting language used to execute commands, chain programs together, and automate system task…
FreeBSD
FreeBSD is a free, open-source Unix-like operating system known for its performance, stability, advanced networking stack, and native ZFS filesystem support.
Ubuntu
Ubuntu is a popular, Debian-based Linux distribution maintained by Canonical, widely used for servers, desktops, and cloud deployments because of its ease of u…
Vim
Vim is a highly configurable, terminal-based text editor known for its modal editing paradigm, where separate modes for navigation, insertion, and command exec…
Alacritty
Alacritty is a cross-platform, GPU-accelerated terminal emulator written in Rust that prioritizes raw rendering performance and a minimal feature set over buil…
Autopsy
Autopsy is an open-source digital forensics platform providing a graphical interface over The Sleuth Kit, used to analyze disk images, recover deleted files, a…
Study Notes(112)
PowerShell vs Bash
How PowerShell's object pipeline compares to Bash's text pipeline, and when to reach for each shell.
Advanced awk Scripting
Go beyond simple field printing to use awk's associative arrays, user-defined functions, BEGIN/END blocks, and multiple field separators for real text-processi…
Advanced Bash Functions
Go beyond basic function syntax to master argument handling, scoping, namerefs, and composition patterns used in production Bash scripts.
Advanced Conditionals and Test Operators
Master Bash's test, [ ], and [[ ]] constructs with string, numeric, and file test operators to write robust, bug-free conditional logic.
Advanced Loop Patterns
Go beyond basic for loops with C-style iteration, while-read idioms for safe line processing, and loop control with break, continue, and select.
Advanced Parameter Expansion
Master Bash's ${...} parameter expansion operators for defaults, substring removal, pattern substitution, case conversion, and length/indirection tricks that e…
Advanced Redirection
Master file descriptor manipulation, combined stdout/stderr redirection, process substitution, and safety guards so a script's input and output flow exactly wh…
Advanced sed Scripting
Move past basic search-and-replace to use sed's address ranges, hold space, branching, and in-place editing for multi-line, stateful text transformations.
Arrays in Depth
A thorough look at Bash indexed arrays: declaration, expansion pitfalls, slicing, appending, iteration, and the differences between @ and * expansions that tri…
Associative Arrays
Bash 4+ associative arrays bring key-value maps to shell scripting — learn declaration, iteration order, key existence checks, and real-world patterns like cou…
Background Jobs and Process Management
Learn how to launch, monitor, and control background jobs in bash using &, jobs, fg, bg, wait, and disown for scripts that need concurrency.
Bash Script Debugging Techniques
Practical techniques for finding and fixing bugs in bash scripts, from tracing execution with set -x to using ShellCheck and traps for structured diagnostics.
Bash Script Structure and Shebangs
How to structure a production-quality Bash script, from the shebang line and strict-mode settings to functions, exit codes, and portability considerations.
Bash Scripting Interview Questions
A study guide of common bash scripting interview questions covering quoting, process substitution, exit codes, and debugging, with the reasoning behind each an…
Bash Strict Mode
An explanation of the `set -euo pipefail` pattern known as bash strict mode, what each flag actually does, and where its edge cases can still surprise you.
Case Statements in Depth
Learn how Bash's case statement uses glob patterns, fall-through terminators, and pattern lists to replace long if/elif chains.
Combining grep, awk, and sed
Learn how to chain grep, awk, and sed into efficient pipelines, choosing the right tool for filtering, transforming, and extracting text at each stage.
Command Substitution in Depth
Understand how $(...) captures command output as a string, why it's preferred over backticks, and the quoting rules that prevent word-splitting bugs.
Defensive Bash Scripting
Techniques for writing bash scripts that fail safely, validate their inputs, and avoid the common footguns that turn a small bug into a production incident.
Function Return Values and Exit Codes
Learn how Bash functions actually communicate results — via numeric exit codes, stdout capture, and namerefs — and how to check them reliably.
Here-Documents and Here-Strings
Learn how to feed multi-line literal text into commands using heredocs (<<) and here-strings (<<<), including quoting rules and indentation control.
Local vs Global Variables
Understand how Bash variable scope actually works, why globals are the default, and how to use `local` deliberately to write safer scripts.
Parallel Execution with xargs
Use xargs's -P flag and related options to run commands across many inputs concurrently, controlling batching, argument placement, and error handling.
Process Substitution
Learn how Bash's <(...) and >(...) process substitution let commands read from or write to another command's output as if it were a file.
Showing 24 of 112.