====== getopt ======
* [[bash]]
* [[getopts]]
* [[sh]]
Generally speaking, use ''getopts'' since it is newer and a built-in function of bash. Use ''getopt'' if you are looking for consistency across platforms.
The man page has a good example, but here are some of the basics:
Use **-a:** to requires an argument, either directly after the ''-a'' or with a whitespace first.
getopt a: $*
Use **-b** to set a boolean value.
getopt b $*
=== getopt example ===
# Allow -a , -d and -z
args=`getopt a:vz $*`
# If getopt fails, then throw an error and quit
if [ $? -ne 0 ]; then echo "Usage: ... "; exit 1; fi
# Set the new arguments
set -- $args
while true; do
case "$1" in
-a)
echo "Passed '$2' argument to -a"; shift; shift;;
-v)
echo "Verbose output enabled"; verbose=1; shift;;
-z)
echo "Debug output enabled"; verbose=1; debug=1; shift;;
--)
shift; break;;
esac
done