Objective

Hands-on practice with advanced shell scripting in a Linux environment.

Tools & Technologies

  • bash
  • trap
  • getopts
  • arrays
  • subshells

Key Commands

trap 'cleanup' EXIT INT TERM
getopts 'hvf:' opt
arr=(a b c); echo ${arr[@]}
( subshell commands )

Lab Steps

01
Error Handling

Use set -euo pipefail and trap for robust error handling and cleanup.

02
Argument Parsing

Parse command-line options with getopts for professional script interfaces.

03
Arrays and Maps

Use indexed arrays and associative arrays (declare -A) for complex data.

04
Subshells & Process Groups

Control execution scope with subshells, command grouping, and process substitution.

Challenges Encountered

  • set -e can cause unexpected exits in if-condition checks
  • getopts does not support long options

Key Takeaways

  • bashate and shellcheck catch style and logic errors
  • trap cleanup on EXIT ensures resources are always released