April 2018
Beginner
284 pages
7h 3m
English
To pass parameters along with options simultaneously, you must separate them with a double dash, like this:
$ ./script1.sh -a -b -c -- p1 p2 p3
Using the previous technique, we can iterate over the options till we reach the double dash, then we will iterate over the parameters:
#!/bin/bashwhile [ -n "$1" ]docase "$1" in-a) echo "-a option found" ;;-b) echo "-b option found";;-c) echo "-c option found" ;;--) shiftbreak ;;*) echo "Option $1 not an option";;esacshiftdone#iteration over options is finished here.#iteration over parameters started.num=1for param in $@doecho "#$num: $param"num=$(( $num + 1 ))done
Now if we run it with parameters and options combined, we should see a list of options and another list ...