Annotation of templates/template.sh, revision 1.1.1.1

1.1       nick        1: #!/bin/sh
                      2: ###############################################################################
                      3: ##
                      4: ## sh script template -- Script description here
                      5: ##
                      6: ##   Copyright Nicholas DeClario 2010
                      7: ##   Nicholas DeClario <nick@demandred.dyndns.org>
                      8: ##   March 2009
                      9: ##   $Id$
                     10: ##
                     11: ###############################################################################
                     12: 
                     13: ##
                     14: ## Set some global variables
                     15: ##
                     16: ARGS_REQ=0     ## Are arguments required?
                     17: VERSION=$\Id$  ## Set the version
                     18: 
                     19: ###############################################################################
                     20: ##
                     21: ## help( )
                     22: ## 
                     23: ##    Display the basic help text
                     24: ##
                     25: ###############################################################################
                     26: help( ) {
                     27:         cat <<EOF
                     28: Usage:
                     29:     $0 [options]
                     30: 
                     31:     Options:
                     32:           --help,?     Display the basic help menu
                     33:           --man,m      Display the detailed man page
                     34:           --version    Display the version
                     35: 
                     36: EOF
                     37: 
                     38:        exit 1
                     39: }   
                     40: 
                     41: ###############################################################################
                     42: ##
                     43: ## man( )
                     44: ##
                     45: ##      Display the detailed man page
                     46: ##
                     47: ###############################################################################
                     48: man( ) {
                     49:         cat <<EOF | nroff -man
                     50: .TH template.sh 1 "`date`" 
                     51: .SH NAME
                     52: template.sh \- BASH template file
                     53: .SH SYNOPSIS
                     54: .B template.sh
                     55: [ name ...  ]
                     56: .SH DESCRIPTION
                     57: .I Template.sh
                     58: is a template written for BASH
                     59: .SH "SEE ALSO"
                     60: man(1)
                     61: .SH "BUGS"
                     62: .I Template.sh
                     63: is a work in progress.  Please report bugs.
                     64: .SH "COPYRIGHT NOTICE"
                     65: Copyright \(co 2006 Free Software Foundation, Inc.
                     66: .br
                     67: Copyright \(co 2010 Nicholas DeClario
                     68: .PP
                     69: Permission is granted to make and distribute verbatim copies of
                     70: this manual provided the copyright notice and this permission notice
                     71: are preserved on all copies.
                     72: .ig
                     73: Permission is granted to process this file through troff and print the
                     74: results, provided the printed document carries copying permission
                     75: notice identical to this one except for the removal of this paragraph
                     76: (this paragraph not being relevant to the printed manual).
                     77: ..
                     78: .PP
                     79: Permission is granted to copy and distribute modified versions of this
                     80: manual under the conditions for verbatim copying, provided that the entire
                     81: resulting derived work is distributed under the terms of a permission
                     82: notice identical to this one.
                     83: .PP
                     84: Permission is granted to copy and distribute translations of this manual
                     85: into another language, under the above conditions for modified versions,
                     86: except that this permission notice may be stated in a translation approved
                     87: by the Foundation.
                     88: EOF
                     89:        exit 1;
                     90: }
                     91: 
                     92: ###############################################################################
                     93: ## End of shell function definitions
                     94: ###############################################################################
                     95: 
                     96: ##
                     97: ##  We are going to read in our basic set of options and parse everything 
                     98: ##  out.  Setting NOARGS to 1 at the top of this script will tell getOpts 
                     99: ##  to call 'help' if no arguments are supplied on the command line.
                    100: ##
                    101:        
                    102: ## 
                    103: ## If we require arguments and have none, show the help
                    104: ##
                    105: [ $# -lt $ARGS_REQ ] && help;
                    106: 
                    107: ##
                    108: ## Parse through our command line arguments here
                    109: ##
                    110: while [ $# -gt 0 ]
                    111: do
                    112:        arg=$1
                    113:        shift 
                    114: 
                    115:        case $arg in
                    116:                --man)
                    117:                        man
                    118:                        break
                    119:                        ;;
                    120:                --version)
                    121:                        echo "Version: $VERSION"
                    122:                        break
                    123:                        ;;
                    124:                *)
                    125:                        help
                    126:                        break
                    127:                        ;;
                    128:        esac
                    129: done
                    130: 
                    131: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>