#!/usr/bin/env zsh emulate -L zsh setopt err_exit no_unset region="us-east-1" dry_run=0 environment="" while getopts ":nr:" opt; do case "$opt" in n) dry_run=1 ;; r) region=$OPTARG ;; :) print -u2 -- "missing value for -$OPTARG" exit 1 ;; \?) print -u2 -- "unknown option: -$OPTARG" exit 1 ;; esac done shift $((OPTIND - 1)) environment=${1:-} if (( ${#environment} == 0 )); then print -u2 -- "missing environment" exit 1 fi print -r -- "environment=$environment" print -r -- "region=$region" print -r -- "dry_run=$dry_run"