我有以下脚本:
#!/bin/bash
USER="NONE"
LOST=0
AVG=0
while getopts ":pmu:" OPTION; do
case $OPTION in
u)
USER=$OPTARG
;;
p)
LOST=1
;;
m)
AVG=1
;;
\?)
echo "Invalid argument: -$OPTARG"
exit 1
;;
:)
echo "-$OPTARG requires an argument."
exit 1
;;
esac
done
echo "$USER-$LOST-$AVG"
exit 0
我希望-u
选择接受一个论点。该脚本正确识别无效选项以及何时-u
在没有参数的情况下调用。但不幸的是,当我输入:
myscript -u -m -p
它打印:
-m-1-0
因此,它-m
用作-u
参数并忽略-m
选项本身。