getopts

Parse shell options from arguments. This command does not support longform options and thus using getopt is recommended instead. More information: https://www.gnu.org/software/bash/manual/bash.html#index-getopts.

  • Check if an option is set:

getopts x opt; echo $opt

  • Set an option to require an argument and check said argument:

getopts x: opt; echo $OPTARG

  • Check for multiple options:

while getopts xyz opt; do case $opt in x) echo x is set;; y) echo y is set;; z) echo z is set;; esac; done

  • Set getopts to silent mode and handle option errors:

while getopts :x: opt; do case $opt in x) ;; :) echo "Argument required";; ?) echo "Invalid argument" esac;; done

  • Reset getopts:

OPTIND=1