Hallo,
ich habe hier ein mehr als nerviges Problem mit mkisofs.
Dazu folgender Ausschnitt aus einem größeren Bash-Skript:
____________________________________________________________________
read -e DIRECTORIES
mkisofs -o /tmp/Image.iso $DIRECTORIES
____________________________________________________________________
Zunächst wird also eingelesen, welche Verzeichnisse bzw. Dateien der
Benutzer gerne im Image haben möchte und diese dann anschließend an
mkisofs übergeben.
Will man mehrere Verzeichnisse (oder auch Dateien) in das Image
packen, trennt man diese ja durch ein Leerzeichen. Das funktioniert
soweit ganz prima.
Kommt nun allerdings in einem Verzeichnis- oder Dateinamen schon ein
Leerzeichen vor, wird dies zwar bei der Eingabe maskiert, das kommt
aber schon gar nicht mehr bei mkisofs an:
Eingabe: Software/AntiVir\ 6.exe
Ergebnis: mkisofs beschwert sich, daß es keine Datei namens
"Software/AntiVir"
gäbe. Das Leerzeichen ist bei der Übergabe an mkisofs
nicht mehr maskiert.
Also neue Variante des Skripts:
____________________________________________________________________
read -e DIRECTORIES
mkisofs -o /tmp/Image.iso "$DIRECTORIES"
____________________________________________________________________
Nun kann ein Verzeichnis- oder Dateiname zwar Leerzeichen enthalten,
ich kann aber gleichfalls keine Leerzeichen mehr zur Trennung
mehrerer Verzeichnisse/Dateien benutzen:
Eingabe: Software/AntiVir\ 6.exe Software/PuTTY
Ergebnis: mkisofs beschwert sich, daß es keine Datei namens
"Software/AntiVir 6.exe Software/PuTTY"
gäbe. Klar, das Leerzeichen wirkt nicht mehr als Trenner.
So kann ich also immer nur eine einzige Datei bzw. ein einziges
Verzeichnis dem Image hinzufügen. Das stellt mich nicht gerade
zufrieden.
Dann habe ich es, mittlerweile leicht genervt, folgendermaßen
versucht:
____________________________________________________________________
while /usr/bin/true
do
read -e ITEM
if [ -z "$ITEM" ]
then break
fi
DIRECTORIES=\'$ITEM\'\ $DIRECTORIES
done
echo $DIRECTORIES # Ausgabe der Variablen nur zur Kontrolle...
mkisofs -o /tmp/Image.iso $DIRECTORIES
____________________________________________________________________
Eingabe: Software/AntiVir\ 6.exe [ENTER]
Software/PuTTY [ENTER]
[ENTER]
Ausgabe von echo:
'Software/PuTTY' 'Software/AntiVir 6.exe'
Das sieht ja eigentlich gut aus, dachte ich, aber...
Ausgabe von mkisofs:
mkisofs: No such file or directory.
Invalid node - 'Software/PuTTY'
Arrrgh, verflucht. Jetzt werden die Single Quotes als Teil des
Dateinamens interpretiert. Das ist doch zum #$*"!%
Die Leerzeichen sind da, die bleiben auch dort, aber wie bringe ich
das diesem blöden mkisofs bei? Hat jemand hier eine Idee?
Vielen Dank im Voraus.
Gruß,
Patrick
-- Scanner unter FreeBSD: http://phess.de.vu/FreeBSD-Scanner/FreeBSD-Scanner.html To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Sun 29 Feb 2004 - 20:43:36 CET