getopt中的optstring是否区分大小写?

getopt中的optstring是否区分大小写?,getopt,Getopt,下面的v还会解析-v选项吗 getopt -o v 甚至可以解析大写命令选项吗?回答您的问题-getopt区分大小写,通常不建议在脚本参数中使用不同的大小写-这可能会造成混淆 您可以考虑在其中使用multichar输入 请尝试阅读关于getopt--longoptions的内容 请参阅下面的示例以了解相同的信息 # Read command line options ARGUMENT_LIST=( "input1" "input2" "input3" ) # re

下面的
v
还会解析
-v
选项吗

getopt -o v

甚至可以解析大写命令选项吗?

回答您的问题-getopt区分大小写,通常不建议在脚本参数中使用不同的大小写-这可能会造成混淆

您可以考虑在其中使用multichar输入

请尝试阅读关于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"
试试这个,希望有用