#!/bin/bash # ########################################################### # Bash Script Template # # Copyright (c) 2022 by Manfred Rosenboom (maroph@pm.me) # # # # This work is licensed under a Creative Commons # # Attribution 4.0 International License. # # CC-BY 4.0: https://creativecommons.org/licenses/by/4.0/ # ########################################################### # SCRIPT_NAME=`basename $0` SCRIPT_DIR=`dirname $0` VERSION="$SCRIPT_NAME 1 (08-MAR-2021)" # ############################################################################### # cwd=`pwd` if [ "${SCRIPT_DIR}" = "." ] then SCRIPT_DIR=${cwd} else cd ${SCRIPT_DIR} SCRIPT_DIR=`pwd` cd ${cwd} fi cwd= unset cwd # ############################################################################### # umask 0027 export LANG="en_US.UTF-8" # ############################################################################### # number=42 string="Don't Panic!" # ############################################################################### # print_usage() { cat <<EOT Usage: ${SCRIPT_NAME} [<options>] <arg1> [<arg2> ...] This command ... Options: -h|--help : show this help and exit -V|--version : show version information and exit -n|--number <number> : an integer > 0 (default: ${number}) -s|--string <string> : a non empty string (default: ${string}) Arguments: arg1 : argument #1 arg2 : argument #2 ... argN : argument #N EOT } # ############################################################################### # while : do option=$1 case "$1" in -h | --help) print_usage exit 0 ;; -V | --version) echo $VERSION exit 0 ;; -n | --number) shift if [ "$1" = "" ] then echo "${SCRIPT_NAME}: option ${option} : number missing" exit 1 fi if ! [[ "$1" =~ ^[1-9][0-9]*$ ]] then echo "${SCRIPT_NAME}: option ${option}: value is not a positive integer number" exit 1 fi number=$1 ;; -s | --string) shift if [ "$1" = "" ] then echo "${SCRIPT_NAME}: option ${option} : string missing" exit 1 fi string=$1 ;; --) shift 1 break ;; --*) echo "${SCRIPT_NAME}: '$1' : unknown option" exit 1 ;; -*) echo "${SCRIPT_NAME}: '$1' : unknown option" exit 1 ;; *) break;; esac # shift 1 done # ############################################################################### # if [ $# -eq 0 ] then echo "${SCRIPT_NAME}: argument(s) missing" print_usage exit 1 fi # arg1=$1 # ############################################################################### # # # ############################################################################### # exit 0