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"
试试这个,希望有用