This repository contains a structured collection of Bash scripting exercises completed as part of my Linux and DevOps learning journey. The labs progress from beginner to intermediate level, building core skills in shell scripting, Linux commands, automation, and system interaction.
Through these labs, I practiced and developed skills in:
- Bash scripting fundamentals
- Variables and user input
- Command-line arguments and positional parameters
- Arrays (indexed and associative)
- Conditional statements (
if,elif,else,case) - Loops (
for,while,select) - File handling and permissions
- Input/output redirection and pipes
- Debugging (
set -x,set -euo pipefail) - Functions and modular scripting
- Logging and error handling
- Basic system automation
- Basic script structure
- Shebang usage
- Output and system date
- Variable declaration
- Arithmetic operations
- Parameter expansion
- Reading user input
- Password masking
- Input validation
- Positional parameters
- Argument validation
- Script usage checks
- Indexed arrays
- Associative arrays
- Looping through arrays
- File checks (
-f,-d,-r) - Numeric validation
- Case statements
- For, while, and select loops
- Menu-driven program
- File reading line-by-line
- stdout and stderr redirection
- Pipes
- Strict mode (
set -euo pipefail) - Debugging techniques
- Cleanup using
trap
A complete interactive system administration tool featuring:
- User greeting system
- System information display (
uptime,df -h) - File backup utility
- Password generator
- Menu-driven interface
- Logging system
- Error handling and validation
Make sure you are in a Linux/WSL environment:
chmod +x script_name.sh
./script_name.shOr run directly with Bash:
bash script_name.sh- Ubuntu (WSL)
- Bash Shell
- Git & GitHub
- Linux command line utilities
This repository demonstrates my progress in learning Linux shell scripting and system automation, forming a foundation for DevOps and backend engineering skills.
Christopher Cynthia