Opcjonalny argument opcji z getopts
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
poziom odnosi się do parametru-R
, katalog odnosi się do parametrów-d
kiedy wprowadzam./count.sh -R 1 -d test/
działa prawidłowo
kiedy wprowadzam./count.sh -d test/ -R 1
działa prawidłowo
ale chcę, aby działało po wprowadzeniu./count.sh -d test/ -R
lub./count.sh -R -d test/
To znaczy, że chcę-R
ma wartość domyślną, a sekwencja poleceń może być bardziej elastyczna.