Understanding getopts
Command line parameters passed along with commands are also called as positional parameters. Many times, we need to pass options such as –f and -v along with positional parameter.
Let's learn the example for passing the –x
or –y
options along with commands. Write the Shell script getopt.sh
as follows:
#!/bin/bash USAGE="usage: $0 -x -y" while getopts :xy: opt_char do case $opt_char in x) echo "Option x was called." ;; y) echo "Option y was called. Argument called is $OPTARG" ;; \?) echo "$OPTARG is not a valid option." echo "$USAGE" ;; esac done
Execute this program:
$ ./getopt.sh
You will be learning switch and case statements in the next chapters. In this script, if option –x
is passed, a case statement for x
will be executed. If the –y
option is passed, then a case statement for –y
will be executed. Since no option is passed, there will not be any output on the screen.
$ ./getopt.sh –x
Output:
Option x was called." $ ./getopt...