while getopts "hd:R:" arg; do
case $arg in
h)
echo "usgae"
;;
d)
dir=$OPTARG
;;
R)
if [[ $OPTARG =~ ^[0-9]+$ ]];then
level=$OPTARG
else
level=1
fi
;;
?)
echo "WRONG" >&2
;;
esac
done
level refers to parameter of
-R
, dir refers to parameters of-d
when I input
./count.sh -R 1 -d test/
it works rightlywhen I input
./count.sh -d test/ -R 1
it works rightlybut I want to make it work when I input
./count.sh -d test/ -R
or./count.sh -R -d test/
This means that I want -R
has a default value and the sequence of command could be more flexible.