Annotation of templates/template.sh, revision 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>