Springe zum Hauptinhalt

Bourne
next up previous contents
Next: Selektives Kopieren Up: Beispiele für Shell-Programmierung Previous: Beispiele für Shell-Programmierung

Kopieren von Teilbäumen im Filesystem

#!/bin/sh
#
# das ist ein Shell-Skript zum Kopieren von Teilbaeumen des Filesystems
#
# Aufruf: copybaum <von_dir> <nach_dir>
#

if test $# -ne 2
    then
    echo zuwenig oder zuviel argumente
    echo 'Aufruf: copybaum <von_dir> <nach_dir>'
    exit
fi
if test ! -r $1
    then
    echo $1 ist nicht lesbar
    echo 'Aufruf: copybaum <von_dir> <nach_dir>'
    exit
fi
if test ! -d $1
    then
    echo $1 ist kein verzeichnis
    echo 'Aufruf: copybaum <von_dir> <nach_dir>'
    exit
fi
if test `ls $1 | wc -l` -eq 0
    then
    echo $1 ist ein leeres verzeichnis
    echo 'Aufruf: copybaum <von_dir> <nach_dir>'
    exit
fi
if test -r $2 
    then
    if test ! -d $2 
        then
        echo $2 existiert ist aber kein Verzeichnis
        echo 'Aufruf: copybaum <von_dir> <nach_dir>'
        exit
    fi
    if test ! -w $2
        then
        echo fuer $2 existieren keine schreibrechte
        echo 'Aufruf: copybaum <von_dir> <nach_dir>'
        exit
    fi
else
    mkdir $2
    if test $? -ne 0
        then
        echo das verzeichnis $2 kann nicht erzeugt werden
        echo 'Aufruf: copybaum <von_dir> <nach_dir>'
        exit
    fi
fi
(cd $1; tar cf - .) | (cd $2; tar xf -)