Bash
Bash scripting, shell fundamentals, automation patterns, and common pitfalls.
Bash Positional Arguments: How to Use $1, $2, $@, and shift
Learn how Bash positional arguments work, including $0, $1, $#, "$@", "$*", shift, default values, and function arguments in scripts.

How to Check if a File or Directory Exists in Bash
This guide explains how to check if a file or directory exists in Bash using test and if statements, with clear examples for common file checks.

Bash Strict Mode: set -euo pipefail Explained
A practical guide to Bash strict mode: how set -e, set -u, set -o pipefail, and IFS change script behavior, why they catch silent failures, and when to turn them off.

Bash Heredoc: Complete Guide with Examples
Bash heredoc lets you pass multi-line text directly to a command inside a shell script. This guide covers syntax, variable expansion, indentation with <<-, SSH usage, and common mistakes.

How to Use the Export Command in Linux
The export command in Bash marks variables to be inherited by child processes. This guide explains what export does, how to use it, and when to make variables persistent.

How to Set Environment Variables in Linux
Set, list, and make environment variables permanent in Linux. Covers shell vs environment variables, export, printenv, and persistent config in ~/.bashrc and /etc/profile.

Bash Functions
How to define and use Bash functions, pass arguments, return values, and apply best practices for writing cleaner and more maintainable scripts.

Bash if...else Statement
A complete guide to Bash if, if...else, and if...elif...else statements with practical examples, test operators, and one-line syntax.

pushd and popd Commands in Linux: Navigate Directories with a Stack
The pushd and popd commands let you save directories to a stack and jump between them instantly. This guide covers syntax, the dirs command, stack rotation, and practical workflow examples.

Bash printf Command
A practical guide to printf in Bash: formatting numbers, strings, and alignment.

Bash Comparison Operators
Learn how to use comparison operators in Bash to compare integers and strings in your shell scripts.

How to Read a File Line By Line in Bash
Read a file line by line in Bash using a while loop and the read command. This guide covers IFS splitting, processing command output, file descriptors, and common pitfalls.

Bash read Command
The Bash read command reads a line from standard input and splits it into variables. This guide covers IFS, prompts, silent input, timeouts, arrays, file reading, and practical script examples.

Bash Range: Sequence Expression Syntax and Examples
The Bash sequence expression generates a range of integers or characters using {START..END} syntax. This guide covers step increments, zero-padding, for loop usage, and how to handle variable ranges with seq.

Bash Comments: Single-Line, Multiline, and Best Practices
Learn how to comment in Bash scripts with single-line, inline, and multiline comment patterns. Includes block comment workarounds and best practices for readable shell scripts.

Bash until Loop
Repeat commands until a condition becomes true with the Bash until loop. Includes syntax, practical examples, and comparisons with the while loop.

Bash case Statement: Match Patterns in Shell Scripts
The Bash case statement matches a value against a list of patterns and runs the corresponding block. This guide explains argument parsing, syntax, glob patterns, multiple matches, and fall-through behavior.

pwd Command in Linux: Print the Current Working Directory
The pwd command prints the current working directory in Linux. This guide covers pwd syntax, the -L and -P options, the $PWD variable, and how symlinks affect the output.

Bash For Loop: Syntax and Examples
A complete guide to the Bash for loop: standard syntax, C-style loops, arrays, ranges, break and continue, and real-world scripting examples.

Bash String Concatenation: Combine Variables and Strings
Learn how to concatenate strings in Bash using variable juxtaposition, the += operator, and printf. Practical examples for combining variables, literals, and command output.
