#!/usr/bin/sh # Skript zum Kopieren # Uncomment for tracing/debugging: # set -x # set -v # Grosse Frage: Hat der Anwender zwei Argumente uebergeben? if test $# -lt 2 then echo "Sie haben zuwenig Argumente eingegeben!" if test $# -eq 1 then echo "Sie haben zwar ein Argument eingegeben, aber" echo "woher soll ich wissen, ob das die Quelle oder" echo "das Ziel ist?" exit 2 else echo "Genauer gesagt: Sie haben keine Argumente angegeben." echo "Was wollen Sie kopieren?" read Q echo "Wohin wollen Sie kopieren?" read Z if test -z "$Q" -o -z "$Z" then echo "Falsche Angaben." exit 2 else cp -rf "$Q" "$Z" fi fi else if test $# -eq 2 then if test ! -r $1 then echo "Das 1. Argument existiert nicht oder darf nicht gelesen werden." exit 3 else cp -r $1 $2 fi else # Ist das letzte Argument ein Verzeichnis? lastnum="{$#}" #Nummer des letzten Argumentes in Klammern lastparam=$(eval echo '$'$lastnum) # Wert des letzten Argumentes if test -d "$lastparam" then echo "$lastparam ist ein Verzeichnis." cp -r $* else echo "$lastparam ist kein Verzeichnis." echo "Bitte geben Sie ein Zielverzeichnis an:\c" read VERZ if test ! -d $VERZ then exit else cp -r $* "$VERZ" fi fi fi fi