shell sonderzeichen maskieren

Bash, Shell, PHP, Python, Perl, CGI
bertengel
Posts: 33
Joined: 2006-03-21 22:40

shell sonderzeichen maskieren

Post by bertengel » 2008-08-18 20:00

Hallo Group,

ich habe ein kleines Problem mit id3v2 und Sonderzeichen.
folgende Syntax schreibt einen Artist-Name in die mp3:

id3v2 -a "artistname" test.mp3

wenn nun im artistname zeichen wie: ` ! " enthalten sind gibt es natürlich einen error ... diese Zeichen kann ich nun mit einem Backslash maskieren.
Im id3tag sind die backslashes dann auch nicht zu sehen ... bis auf: ! .. bei Backslash-Ausrufezeichen stehen beide zeichen im id3tag.
Ein Ausrufezeichen muss aber maskiert werden weil ich sonst einen Fehler bekomme.

Nun meine Frage: gibt es einen shell befehl ala addslashes oder ähnliches --- in der shell müssen ja andere zeichen als bei php maskiert werden.
Mein Shell-Script baue ich mit PHP zusammen und führe es später aus ... ich könnte nun im PHP alles "böse" mit str_replace ersetzen .. dann bleibt aber noch das ausrufezeichen welches die shell in meinem Fall falsch interpretiert.

andersherum bei: id3v2 -a 'artistname' test.mp3 (einfaches hochkomma) welches vielleicht die elegantere Lösung ist, kann ich ein einfaches hochkomme nicht mit backslash maskieren ... sonst frisst diese syntax alle sonderzeichen --- wie maskiert man hier ein hochkomma im artistname?

vielleicht ist die Lösung einfach ... pls help

mike

freddy36
Posts: 273
Joined: 2008-03-20 17:31

Re: shell sonderzeichen maskieren

Post by freddy36 » 2008-08-18 20:41

Bei Single Quotes kannst du nihts so einfach escapen.

echo 'aaa'''bbb'

Somit bekommt man ein ' Zeichen rein. Eigentlich sind es zwei single quotes mit einem escapten ' dazwischen.

suntzu
Posts: 669
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: shell sonderzeichen maskieren

Post by suntzu » 2008-08-18 20:42

Enclosing characters in double quotes preserves the literal value of all characters within the quotes, with the exception of $, ‘, , and, when history expansion is enabled, !.

Also in der Shell History Expansion ausstellen?

bertengel
Posts: 33
Joined: 2006-03-21 22:40

Re: shell sonderzeichen maskieren

Post by bertengel » 2008-08-22 11:29

danke ... hat geholfen