I'm trying to use getopts like this:
#!/bin/bash
while getopts "i" option
do
 case "${option}"
 in
 i) INT=${OPTARG};;
 esac
done
echo "$INT"
But it prints $INT only if i use getopts "i:". If I understand correctly, the colons in the optstring mean that values are required for the corresponding flags. But I want to make this flag optional. 
Can anyone explain why the script acts like this and how can I fix it?
 
     
    