Why are flags often used as modifiers whereas positional parameters are used as targets?
Why do we run getopts in a while loop?
Why do we need ?) in the case statement?
Why do we (sometimes) need :) in the case statement?
Why do we need a separate optstring if we're resolving all options anyway?
Why do we need to subtract 1 from the OPTIND variable when we use it in shift?
Is it a good idea to mix options with positional arguments?
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.