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
doneExecute 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...