#getopt
#getopt
Вопрос:
Будут ли v
ниже также проанализированы -V
параметры?
getopt -o v
Возможно ли вообще проанализировать параметры команды в верхнем регистре?
Ответ №1:
ответ на ваш вопрос — getopt чувствителен к регистру, обычно не рекомендуется использовать разные регистры в аргументах скрипта — это может создать путаницу
вы можете подумать об использовании в нем ввода с несколькими символами.
Попробуйте и прочитайте о getopt —longoptions.
См. Приведенный ниже пример для того же.
# Read command line options
ARGUMENT_LIST=(
"input1"
"input2"
"input3"
)
# read arguments
opts=$(getopt
--longoptions "$(printf "%s:," "${ARGUMENT_LIST[@]}")"
--name "$(basename "$0")"
--options ""
-- "$@"
)
echo $opts
eval set --$opts
while true; do
case "$1" in
--input1)
shift
empId=$1
;;
--input2)
shift
fromDate=$1
;;
--input3)
shift
toDate=$1
;;
--)
shift
break
;;
esac
shift
done
и вот как вы можете вызвать скрипт
myscript.sh --input1 "ABC" --input2 "PQR" --input2 "XYZ"
попробуйте это, надеюсь, это было полезно