Am Mit, 21 Nov 2001 schrieb Andreas Achtzehn:
Für ein Backup-Script brauche ich dringend eine Lösung. Wir finden die zu backupenden Dateien durch einen find und schreiben die Namen in eine Variable:
VARIABLE=`find /dir -name "*.bck"` Danach wollen dir die Dateien kopieren: for i in $VARIABLE; do cp "$i" /ziel done
find füllt die Variable wunderbar, doch das Problem entsteht, wenn kopiert werden soll. Dateien, die Leerzeichen enthalten, werden durch for als zwei Werte interpretiert.
find schreibt in VARIABLE: /daten/Datei 1.doc cp will kopieren: /daten/Datei 1.doc
Schreibe einfach $VARIABLE in Anführungszeichen (doppelte, also ") und Dein Problem ist gelöst. Bsp.: ma@gbp301:~ > TESTVAR="EIN TEST" ma@gbp301:~ > for i in $TESTVAR; do echo $i; done EIN TEST ma@gbp301:~ > for i in "$TESTVAR"; do echo $i; done EIN TEST Gruß Christoph -- Christoph Maurer - Paul-Röntgen-Straße 7 - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen