#!/bin/sh # # # Author: Bernhard Kuehl # Universitaet Osnabrueck # Wed Jun 11 14:53:30 MET DST 1997 # File: cmd # Description: # Beispiel zum Abarbeiten einer Kommandozeile # cmd [-h] [-l dump_level] [-d day] [-m] [-f] [-i] [--] file [file ...] # # BEMERKUNG: # Die Kommadozeile sollte wie oben beschrieben aussehen. # Moegliche Werte von dump_level und day in der Aufgabenstellung definieren und # dann auch ueberpruefen! # # keine Flagge ist gesetzt HFLAG= LFLAG= LLEVEL= DFLAG= DDAY= MFLAG= FFLAG= IFLAG= PATH=/usr/local/gnu/bin:/bin export PATH # Usage-Meldung usage () { echo usage: `basename $0` [-h] [-l dump_level] [-d day] [-m] [-f] [-i] file [file ...] exit 1 } while [ $# -gt 0 ] do case "$1" in -m) MFLAG=1 ;; --) # Ende der Optionen shift break ;; -h) usage # -h (help) => usage-Meldung ;; -f) FFLAG=1 ;; -i) IFLAG=1 ;; -l) shift if [ $# -gt 0 ] then LFLAG=1 LLEVEL="$1" else usage fi ;; -d) shift if [ $# -gt 0 ] then DFLAG=1 DDAY="$1" else usage fi ;; -*) # unbekannte Option usage ;; *) # Keine Option => ab jetzt Dateinamen break esac shift done [ $# -gt 0 ] || usage # Sind Dateinamen angegeben? echo # Wie war nun der Aufruf: echo cmd: echo echo flags: [ -n "$LFLAG" ] && echo -l $LLEVEL [ -n "$DFLAG" ] && echo -d $DDAY [ -n "$MFLAG" ] && echo -m [ -n "$FFLAG" ] && echo -f [ -n "$IFLAG" ] && echo -i echo echo files: echo $* exit 0