私は次のスクリプトを持っています:
#!/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