#!/bin/bash -e
# default args
TEST_MODE=FALSE
ENDPOINT_HOSTNAME=""
AUX=""
FLAG_LIST=(
"test"
)
ARGUMENT_LIST=(
"endpoint"
"argaux"
)
# read arguments
opts=$(getopt \
--longoptions "$(printf "%s," "${FLAG_LIST[@]}"),$(printf "%s:," "${ARGUMENT_LIST[@]}")" \
--name "$(basename "$0")" \
--options "" \
-- "$@"
)
eval set --$opts
while [[ $# -gt 0 ]]; do
case "$1" in
--test)
TEST_MODE=TRUE
shift;
;;
--endpoint)
ENDPOINT_HOSTNAME=$2
shift 2
;;
--argaux)
AUX=$2
shift 2
;;
esac
done
echo TEST_MODE=$TEST_MODE
echo ENDPOINT_HOSTNAME=$ENDPOINT_HOSTNAME
echo AUX=$AUX
# getopt args ENDNote: The eval in eval set --$opts is required as arguments returned by getopt are quoted.
$ ./getopt.sh --test --endpoint "apple.com" --argaux "xyz"