Most shell scripts I use have syntax like ./shellscript.sh -first_argument_flag <first_argument_value> -second_argument_flag <second_argument_value>but all of the online resources for shell scripters only discuss passing positional arguments like./shellscript.sh <first_argument_value> <second_argument_value> which are subsequently used in the script as $1 , $2, etc. I would like to use the first, more user-friendly syntax rather than the positional argument syntax. As an example, suppose I want to echo a filename with flag -f and a directory with flag -d. Call this script echofd.sh. I want./echofd.sh -f myfile.txt -d /my/directory/ to produce the outputYour File is: myfile.txtYour Directory is: /my/directory/ and regardless of which order -f and -d are positioned in calling the script.  
dash arguments to shell scripts
shell script;arguments