Dominik Klein wrote:
Der Backupteil des Skripts sieht in etwa so aus:
... OldIFS="$IFS" IFS=' ' while read $VERZEICHNIS do [sicherstellung, dass $VERZEICHNIS auf "/" endet] rsync -Hav --link-dest=$GESTERN/$VERZEICHNIS \ $BENUTZER@$SERVER:$VERZEICHNIS $BACKUP/$VERZEICHNIS done < $DATEI ...
Wenn jetzt $DATEI so aussieht: ------- /etc /home /var/irgend etwas -------
wenn Du fertig bist, dann schließlich noch (optional) IFS="$OldIFS" Zur Erklärung: IFS ist der InternalFieldSeparator, das ist eine Liste von Zeichen, die standardmäßig aus den Zeichen 'Leerzeichen', 'Tabulator' und 'newline' (Zeilenende) besteht. Da das Leerzeichen jetzt sowohl als Feld-Separator als auch innerhalb eines Strings vorkommen kann, geht das ganze schief. Setzt man IFS nur auf 'newline' (siehe oben, hinter dem ' von IFS=' darf nur eine Zeilenschaltung kommen und das nächste ' muss unbedingt am Zeilenanfang stehen) dann funktionierts so wie Du es willst und es können sowohl Leerzeichen als auch Tabulatoren in Filenamen vorkommen. Außer natürlich, jemand kommt auf die kranke Idee, Newlines in Filenamen zu integrieren. Gruß, Christian -- Name: Christian Andretzky | Address: TU Chemnitz | Phone: ++49 +371 531 32130 | Fak. Maschinenbau/Verfahrenstechnik | FAX: ++49 +371 531 832130 | Reichenhainer Str. 70 | mail: Christian.Andretzky@MB.TU-Chemnitz.DE | D-09107 Chemnitz | PGP: public key avaliable via public key server | In a world without walls and fences, there is no need for windows and gates | "The Box said 'Windows 95 or better'. - So I installed Linux." | -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org