我正在编写一个使用getopt解析参数的脚本。到目前为止,我得到的解只接受一个参数。是否有一种方法,使这个解决方案接受多个参数(如。'-f和-l都有吗?
链接中的解决方案不适合我。Bash getopt接受多个参数
代码:"
while getopts "f:l:" option; do
case "${option}" in
f) firstdate=${OPTARG}
shift
;;
l) lastdate=${OPTORG}
;;
*)
echo "UsageInfo"
exit 1
;;
esac
shift
done
"
首先,你有一个错字:OPTORG
应该是OPTARG
。
更重要的是,您不需要调用shift
。getopts
负责消费和跳过每个选项和参数。
while getopts "f:l:" option; do
case "${option}" in
f) firstdate=${OPTARG} ;;
l) lastdate=${OPTARG} ;;
*)
echo "UsageInfo"
exit 1
;;
esac
done