Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

MySQL & UDF sys_exec echo niet direct, maar wel via bash

Pagina: 1
Acties:

Vraag


  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09 06:31
Mijn vraag
Op mijn MySQL installatie gebruik ik een UDF script: http://www.mysqludf.org/
Om precie ste zijn het SYS script. Op zich werkt dit prima, maar ik heb nu een tijdelijke oplossing bedacht voor een probleem welke ik niet zelf opgelost krijg.
Als ik namelijk via sys_exec het volgende commando execute:

code:
1
2
SET @MsgString = CONCAT("/var/lib/mysql-files/msgextract ","\"echo \\\"msg 1329 'Empfänger:  \\n   OperatornArbeitsplatz: '\\\" | nc 127.0.0.1 2391\"");
SET @TMP_Var = sys_exec(@MsgString);


Waarbij het bash script er als volgt uit ziet:
code:
1
2
3
#!/bin/bash
SQLMsg="$1"
eval "$SQLMsg"


Wat ik echter het liefste zou willen is het huidige bash elimineren. Het zou er dan als volgt uit komen te zien (als het zou werken):
code:
1
2
SET @MsgString = "echo \\\"msg 1329 'Empfänger:  \\n   OperatornArbeitsplatz: '\\\" | nc 127.0.0.1 2391";
SET @TMP_Var = sys_exec(@MsgString);


Is er iemand die me kan vertellen waarom mijn huidige versie wel werkt en mijn gewenste versie niet.

Relevante software en hardware die ik gebruik
- Ubuntu LTS 16 64 bit
- MySQL (uit apt-get)
- UDF SYS van http://www.mysqludf.org/

Wat ik al gevonden of geprobeerd heb
Mijn huidige oplossing is als work-around. Heb veel gespeeld met escape characters, maar dit helpt me nog niks.
Is er iets anders wat ik moet doen?