I currently have a script that is using short flags -M, -m, and -b. I only want to make use of one argument, so I just have it break on the matching flag. I would like to change it so that it returns a non-zero code if more than one flag is used, and I'd like to support long flags (--major, --minor, --bug). How can I modify this block of code I use now to achieve that?
while getopts ":Mmb" increment; do
case "${increment}" in
M)
result=1
break
;;
m)
result=2
break
;;
b)
result=3
break
;;
esac
done