Am Samstag, 16. Oktober 2004 01:22 schrieb David Haller:
Mit NULL ist ASCII-NUL '0x00', '\0' gemeint.
Nur Photographer: "foo bar\0" Nur Editor: " \0foo bar\0" Beide: "foo bar\0bar baz\0"
Das bekommst du z.B. mittels echo -e '\0'. Wenn du das in einem script häufiger brauchst ohne den gesamten String mit 'echo -e' ausgeben zu wollten kannst du folgendes machen:
NUL="`echo -e '\0'`"
...
exif .... "${PHOTOGRAPHER}${NUL}${EDITOR}${NUL}"
Allerdings solltest du drauf achten, PHOTOGRAPHER nicht leer ist:
PHOTOGRAPHER=$1
: "${PHOTOGRAPHER:= }"
oder
PHOTOGRAPHER="${1:= }"
je nachdem, wie du PHOTOGRAPHER belegst ;)
Ich will keinen Editor, nach "Photographer)" soll also _nichts_ stehen. Ich zitiere mal den Scriptteil: if [ -z "$EXIFCOPYRIGHT" -o "$EXIFCOPYRIGHT" = \ "(C)CaplioR1User(Photographer)-[None](Editor)" ]; then NUL="`echo -e '\0'`" COPYRIGHTSTATEMENT="(C) "`echo "$EXIFDAY" | cut -c1-4`" by \ ""$COPYRIGHTOWNER" "$MYEXIF" --ifd=0 --tag=0x8298 \ --set-value="${COPYRIGHTSTATEMENT}${NUL}" "$TEMPNEWNAME" \ 2>&1>/dev/null mv "$TEMPNEWNAMEEXIFMODIFIED" "$TEMPNEWNAME" 2>/dev/null fi Obiges ergibt mit exif -m Copyright (C) 2004 by Al Bogner (Photographer) - [None] (Editor) und ich möchte: Copyright (C) 2004 by Al Bogner (Photographer) Schafft übrigens wer in "0x9286 User Comment" etwas reinzuschreiben? Mit exif von SuSE 9.1 gab es "not implemented", mit exif-0.6.9 wird nichts reingeschrieben, Fehlermeldung gibt es aber auch keine. Al Al