#! /usr/bin/bash help=0 verbose=0 level="" args=() while [[ $# -gt 0 ]]; do case "${1}" in -h|--help) help=1 shift ;; -v|--verbose) verbose=1 shift ;; -l|--level) level="${2}" shift 2 ;; *) args+=("${1}") shift ;; esac done echo "help=${help}" echo "verbose=${verbose}" echo "level=${level}" count=0 for var in "${args[@]}"; do echo "Arg ${count}: ${var}" ((count++)) done