Ich habe vorher natürlich recherchiert, es gibt Lösungen, aber ich habe sie nicht verstanden. Will mir ein Skript machen, dass mittels identify die orientation eines Bilds ermittelt und an Hand des Ergebnisses diese wahlweise dreht. Zum Ermitteln der orientation eine Funktion getorientation im Skript. Beim Aufruf von identify wird nur der erste String bis zum Leerzeichen genommen.
Vielleicht kann mir jemand weiter helfen, das mit Apostroph oder backslash-Apostroph hatte ich erfolglos probiert. Sollte noch jemand auch die Zeit haben, mir den Fehler zu erklären, gerne
Hier das verkürzte Beispielskript tst-identiy:
Beim Aufruf mit
erhalte ich
Vielleicht kann mir jemand weiter helfen, das mit Apostroph oder backslash-Apostroph hatte ich erfolglos probiert. Sollte noch jemand auch die Zeit haben, mir den Fehler zu erklären, gerne
Hier das verkürzte Beispielskript tst-identiy:
Bash:
#!/bin/bash
function getorientation () {
local IFS='='
local orientation
echo "getorientation of" "$1"
o=$(identify -format "%[EXIF:*]" $1 | grep Orientation)
for i in $o; do
orientation=$i;
echo $1: $orientation;
done
}
while (( "$#" ))
do
echo processing $1
orientation=$(getorientation \"$1\")
echo 'orientation:' $orientation
shift
done
Beim Aufruf mit
Code:
tst-identify "eins zwei.jpg"
erhalte ich
Code:
processing eins zwei.jpg
identify: unable to open image '"eins': Datei oder Verzeichnis nicht gefunden @ error/blob.c/OpenBlob/3536.
identify: no decode delegate for this image format `' @ error/constitute.c/ReadImage/572.
orientation: getorientation of "eins