GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
alt_getopt(1) alt_getopt(1)

alt_getopt - parse command options

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

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.

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"

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

2019-02-15

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.