Provided by: runawk_1.6.1-1_amd64 bug

NAME

       alt_getopt - parse command options

SYNOPSIS

        cmds=`alt_getopt opt1 action1 [opt2 action2...] -- "$@"`
        eval "$cmds"

DESCRIPTION

       alt_getopt is a command options parser. It conforms to POSIX and supports long options,
       that is works the same way as getopt_long(3) found in *BSD and GNU libc.

EXAMPLES

       The following shell script accepts the options: -v (or --verbose), -h (or --help), long
       option --fake without short synonym, --len accepting argument, -o (or --output) accepting
       argument, short options -f and -F without long synonyms etc. If option is applied,
       appropriate shell command is executed.

        #!/bin/sh
        help () { echo 'help here'; }

        process_args (){
          alt_getopt \
            'v|verbose' 'verbose=1' \
            'h help'    help \
            'fake'      fake_flag=1 \
            '=len'      len= \
            '=o output' output= \
            '=m msg'    "msg=" \
            'V version' "echo 'alt_getopt-0-1-0'" \
            f           'flag=1' \
            F           'flag=' \
            =n          number= \
            -- "$@"
        }

        cmds=`process_args "$@"`
        eval "$cmds"

        echo "flag=$flag"
        echo "msg=$msg"
        ...

       Another way to handle options using alt_getopt.sh

         #!/bin/sh
         . alt_getopt.sh

         help () {
           cat 1>&2 <<EOF
         demo_alt_getopt2.sh is a demo program for alt_getopt.sh
         OPTIONS:
         $help_msg
         EOF
         }

         # the third argument in add_arg function envocation is optional
         add_arg 'h help'    'help; exit 0' \
           '  -h|--help        display this help'
         add_arg 'v|version' "echo 'demo_alt_getopt2.sh 0.1.0'" \
           '  -v|--version     display version'
         add_arg '=o|output' "output=" \
           '  -o|--output      output file'

         process_args "$@"
         shift "$shifts"

         echo "output=$output"

HOME

       <http://sourceforge.net/projects/runawk/>

SEE ALSO getopt(3) getopt_long(3)

                                            2023-01-02                              alt_getopt(1)