Является ли optstring в регистре getopt чувствительным к регистру? - PullRequest
1 голос
/ 08 апреля 2019

Могут ли параметры v ниже синтаксического анализа -V также?

getopt -o v

Можно ли даже проанализировать параметры команды в верхнем регистре?

1 Ответ

0 голосов
/ 08 апреля 2019

ответ на ваш вопрос - 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"

попробуйте, надеюсь, это было полезно

...