[linux-l] shell skript probleme mit leerzeichen

willek willek at gmx.de
Do Okt 27 15:07:37 CEST 2005


hi liste,
ich bastele gerade an einen kleinen skript, das bilder umwandelt. ich
habe Bildernamen mit leerzeichen drin, beispielsweise "test 3.jpg".
Wie bringe ich dem skript bei, auch so was zu beachten?

oder genauer gefragt: wie bekomme ich eine Variable mit Leerzeichen hin?
oder geht das, wie so oft, viel einfacher? Ich könnte iimage (Danke Sven
für den Tipp) nehmen, hätte aber gerne was eigenes.

Danke für die Hilfe
Lutz

$ ls -l
-rw-r--r--  1 lutz lutz 2242273 2005-10-27 14:11 test1.jpg
-rw-r--r--  1 lutz lutz 2401241 2005-10-27 14:11 test2.jpg
-rw-r--r--  1 lutz lutz 3730762 2005-10-27 14:11 test 3.jpg
-rw-r--r--  1 lutz lutz  297943 2005-10-27 14:11 test 4.jpg
-rwxrwxr--  1 lutz lutz     352 2005-10-27 14:59 verkleinere

$ cat verkleinere
#!/bin/bash
# /usr/local/bin/verkleinere
#
# verkleinert Bilder im aktuellen Verzeichnis
# auf 640x480 und speichert sie in Ordner
# ./verkleinert unter dem angegebenen Suffix ab
#
# Aufruf: verkleinere <Dateiendung>
mkdir verkleinert
for i in `ls`; do
basename=${i%.*}
echo $i $basename.$1
convert -resize 640x480 "$i" verkleinert/$basename.$1
done

$ sh verkleinere png
test1.jpg test1.png
test2.jpg test2.png
test test.png
convert: unable to open image `test': Datei oder Verzeichnis nicht gefunden.
convert: missing an image filename `verkleinert/test.png'.
3.jpg 3.png
convert: unable to open image `3.jpg': Datei oder Verzeichnis nicht
gefunden.
convert: missing an image filename `verkleinert/3.png'.
test test.png
convert: unable to open image `test': Datei oder Verzeichnis nicht gefunden.
convert: missing an image filename `verkleinert/test.png'.
4.jpg 4.png
convert: unable to open image `4.jpg': Datei oder Verzeichnis nicht
gefunden.
convert: missing an image filename `verkleinert/4.png'.
verkleinere verkleinere.png
convert: Improper image header `verkleinere'.
convert: missing an image filename `verkleinert/verkleinere.png'.
verkleinert verkleinert.png
convert: missing an image filename `verkleinert/verkleinert.png'.

$ ls -l
-rw-r--r--  1 lutz lutz 2242273 2005-10-27 14:11 test1.jpg
-rw-r--r--  1 lutz lutz 2401241 2005-10-27 14:11 test2.jpg
-rw-r--r--  1 lutz lutz 3730762 2005-10-27 14:11 test 3.jpg
-rw-r--r--  1 lutz lutz  297943 2005-10-27 14:11 test 4.jpg
-rwxrwxr--  1 lutz lutz     352 2005-10-27 14:59 verkleinere
drwxr-xr-x  2 lutz lutz     112 2005-10-27 15:00 verkleinert

$ ls -l ./verkleinert
-rw-r--r--  1 lutz lutz 234774 2005-10-27 15:00 test1.png
-rw-r--r--  1 lutz lutz 261262 2005-10-27 15:00 test2.png






Mehr Informationen über die Mailingliste linux-l