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
уровень относится к параметру
-R
, dir относится к параметрам-d
когда я ввожу
./count.sh -R 1 -d test/
, он работает правильнокогда я ввожу
./count.sh -d test/ -R 1
, он работает правильноно я хочу, чтобы он работал, когда я вводил
./count.sh -d test/ -R
или./count.sh -R -d test/
Это означает, что я хочу, чтобы -R
имел значение по умолчанию, и последовательность команд могла бы быть более гибкой.