The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #3 (permalink)  
Old 07-26-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmer, author
  
 

Join Date: Mar 2007
Location: Toronto, Canada
Posts: 2,361
Quote:
Originally Posted by kdelok View Post
Hello everyone,

Is it possible to use getopts and also receive arguments without option flags?

e.g. myscript arg1 arg2 -a arg3 -b arg4

If so, how do you stop getopts from exiting as soon as it detects the non-option arguments?

Save and remove the leading arguments before calling getopts, e.g.:

Code:

n=1
while [ $# -gt 0 ]
do
  case $1 in
    -*) break;;
    *) eval "arg_$n=\$1"; n=$(( $n + 1 )) ;;
  esac
  shift
done

while getopts abc opt
do
  case $opt in
    a|b|c) echo opt $opt ;;
  esac
done