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 -)