Bash - Single Quote ersetzen



  • Hallo,

    ich befinde mich am Rande des Wahsinns 😃

    Ich habe eine Variable, in der ich jedes Single-Quote mit einem escapten Single-Quote ersetzen möchte, leider ohne Erfolg:

    lineE=`echo $line|sed "s/\'/\\'/g"`

    Es soll später eine Query mit folgenden Syntax ausgeführt werden, weshalb die Quotes escapted werden müssen:

    INSERT INTO blah(text) VALUES('${lineE}')

    Was mache ich falsch?



  • Das Hochkomma brauchst Du in Gänsefüßchen nicht zu escapen.

    Mach mal so:

    lineE=`echo $line|sed "s/'/\\'/g"`
    

    Oder, da Du ja sowieso schon bash verwendest:

    lineE=${line/'/\\'}
    

    Hoffe, ich konnte Deinen Wahnsinn rechtzeitig verhindern.



  • Verhindert, sehr gut 🙂


Anmelden zum Antworten