# Scripting

# Bash script options

Usage:

#!/bin/bash

################################################################################
# Help                                                                         #
################################################################################
Help() {
   # Display Help
   echo "Description of application"
   echo
   echo "Syntax: example [-a|-b|-c|-d|-h]"
   echo "options:"
   echo "-a <param_1_name>   First parameter a and show an example -a oooh"
   echo "-b <param_2_name>   Another parameter with e.g."
   echo "-c                  Option without parameter to pass"
   echo "-d                  Another one for fun"
   echo "-h                  Display this help message"
   echo
}

################################################################################
# do_something                                                                 #
################################################################################
do_something() {
    echo "Doing something"
}

# Get the options
while getopts ":acdh:b:" option; do
   case $option in
      h) # display Help
         Help
         exit;;
      a) # Get Param
         PARAM_A=$OPTARG;;
      b) # Get Param and run function
         PARAM_B=$OPTARG
         do_something;;
      c) # Do something else
         MODE=$OPTARG;;
      d) # Do another thing
         COMMENT_ALL="true";;
      \?) # incorrect option
         echo "Error: Invalid option"
         Help
         exit;;
   esac
done

Help