Implement manual flag parsing in Bash.

Section: Script Structure

Parse flags with while/case

bash
bash
while (($#)); do
  case "$1" in
    -v|--verbose) verbose=1 ;;
    -o|--output) output=$2; shift ;;
    *) echo "unknown arg: $1" >&2; exit 1 ;;
  esac
  shift
done
Explanation

A common pattern for lightweight scripts.

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing Script Structure
Parse short options with getopts
Parse short options using the getopts builtin.
OpenIn sheetbashsame section
Shift parsed options away
Drop parsed options after getopts completes.
OpenIn sheetbashsame section
Portable Bash shebang
Use env to locate Bash on PATH.
OpenIn sheetbashsame section
Get script directory
Resolve the directory of the current script.
OpenIn sheetbashsame section
Create temp file
Create a secure temporary file.
Simple log function
Print timestamped log lines.