rabby
28-01-2008, 14:26
Hallo,
habe ein Shellscript gebastelt, was mit sed eine Ersetzung durchführen soll.
Was ersetzt werden soll, ist vorgegeben. Wodurch es ersetzt wird, soll durch den übergebenen Parameter klar werden, wenn das Script aufgerufen wird.
Da diese Ersetzung jedoch auch Leerzeichen, Klammern etc. enthalten darf, kommt es zu Problemen beim Aufruf :(
sed -i -e 's/^.*\+hide-user-agent.*/\+hide-user-agent{'$1'} \\/' /etc/privoxy/default.action
Wenn das Script nun z.B. so aufgerufen wird, krachts:
./script.sh bla/bla
so geht es wiederum:
./script.sh bla\\\\/bla
Mit runden Klammern hat es ebenso Probleme und wahrscheinlich noch mit weiteren Sonderzeichen :(
Deshalb wüsste ich gerne, wie sich das Problem lösen lässt bzw. ob es sowas wie magic_quotes/slashes für Shell Scripte gibt, damit mir die sed Zeile nicht ständig "zerbricht".
Danke
habe ein Shellscript gebastelt, was mit sed eine Ersetzung durchführen soll.
Was ersetzt werden soll, ist vorgegeben. Wodurch es ersetzt wird, soll durch den übergebenen Parameter klar werden, wenn das Script aufgerufen wird.
Da diese Ersetzung jedoch auch Leerzeichen, Klammern etc. enthalten darf, kommt es zu Problemen beim Aufruf :(
sed -i -e 's/^.*\+hide-user-agent.*/\+hide-user-agent{'$1'} \\/' /etc/privoxy/default.action
Wenn das Script nun z.B. so aufgerufen wird, krachts:
./script.sh bla/bla
so geht es wiederum:
./script.sh bla\\\\/bla
Mit runden Klammern hat es ebenso Probleme und wahrscheinlich noch mit weiteren Sonderzeichen :(
Deshalb wüsste ich gerne, wie sich das Problem lösen lässt bzw. ob es sowas wie magic_quotes/slashes für Shell Scripte gibt, damit mir die sed Zeile nicht ständig "zerbricht".
Danke