Am Dienstag, 18. Januar 2005 17:21 schrieb Sören Wengerowsky:
Am Dienstag, 18. Januar 2005 16:41 schrieb Marco Schuler:
<--- Begin: Skript ---> #!/bin/bash OUTPUT="home/schuler/Documents/Dossier.pdf " PAGE_01="Eine Datei mit Leerzeichen im Dateinamen.pdf " PAGE_02="Eine weiter Datei mit Leerzeichen im Dateinamen.pdf " PAGE_03="Und so weiter.pdf " ... DOSSIER=$PAGE_01$PAGE_02$PAGE_3 ... pdftk $DOSSIER cat output $OUTPUT <--- End: Skript --->
Irgendwie kommt aber die Bash mit den Leerzeichen in den Variablen $PAGE_* nicht zurecht (oder besser gesagt ich...)
Entweder auch die Variablen bei Dossier= quoten...
Oder sowas an den Anfang des Skriptes setzen: OIFS="$IFS"; IFS=$'\n'
Und ans Ende: IFS="$OIFS"
Das hat leider nur bedingt geholfen. Zwar wird jetzt der Dateiname als ganzes gesehen, doch pdftk meldet: Error: Failed to open PDF file: Eine Datei mit Leerzeichen im Dateinamen.pdf Error: Failed to open PDF file: Eine weiter Datei mit Leerzeichen im Dateinamen.pdf Error: Failed to open PDF file: Und so weiter.pdf Errors encountered. No output created. Done. Input errors, so no output created.
Ausserdem gefällt mir das Zusammenhängen der Variablen in der Variablen DOSSIER nicht (da wären Leerzeichen dazwischen schön
:-)
Evtl escapen, bzw. quoten?
DOSSIER="$PAGE_01 $PAGE_02 $PAGE_3"
Wäre vielleicht einen Versuch wert...
Oder: DOSSIER="'$PAGE_01' '$PAGE_02' '$PAGE_3'"
Letzteres ist aber vermutlich quatsch...
Da werde ich später noch daran arbeiten. Kosmetik kommt später...
Bei dem mit IFS=$'\n' bin ich mir aber sicher, dass das hinhaut.
Leider nicht so... Sie oben. -- Grüsse Marco