title: Having getopts to show help if no options provided
body: <p>I parsed some similar questions posted here but they aren't suitable for me.</p>
  
  <p>I've got this wonderful bash script which does some cool functions, here is the relevant section of the code:</p>
  
  <pre><code>while getopts ":hhelpf:d:c:" ARGS;
  do
      case $ARGS in
          h|help )
              help_message &gt;&amp;2
              exit 1
              ;;
          f )
              F_FLAG=1
              LISTEXPORT=$OPTARG
              ;;
          d )
              D_FLAG=1
              OUTPUT=$OPTARG
              ;;
          c )
              CLUSTER=$OPTARG
              ;;
          \? )
              echo ""
              echo "Unimplemented option: -$OPTARG" &gt;&amp;2
              echo ""
              exit 1
              ;;
          : )
              echo ""
              echo "Option -$OPTARG needs an argument." &gt;&amp;2
              echo ""
              exit 1
              ;;
          * )
              help_message &gt;&amp;2
              exit 1
              ;;
      esac
  done
  </code></pre>
  
  <p>Now, all my options works well, if triggered. What I want is getopts to spit out the <em>help_message function</em> when no option is triggered, say the script is launched just <strong>./scriptname.sh</strong> without arguments.  </p>
  
  <p>I saw some ways posted here, implementing <strong>IF</strong> cycle and <strong>functions</strong> but, since I'm just starting with bash and I already have some IF cycles on this script, I would like to know if there is an easier (and pretty) way to to this.</p>