Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Aufruf exec aus JavaScript und Übergabe Parameter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Aufruf exec aus JavaScript und Übergabe Parameter

Scheduled Pinned Locked Moved JavaScript
javascript
4 Posts 2 Posters 328 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mitch
    wrote on last edited by
    #1

    Hi,

    ich rufe per Javascript exec auf und habe auch über sudoers den Befehl erlaubt. Das klappt auch grundsätzlich, aber ich muss mehrere Parameter mitgeben:

    exec("sudo curl -X POST https://1234.meinedomain.de -H "Content-Type: application/xml" -H "Accept: application/xml" -d "<?xml version='1.0' encoding='utf-8'?><request>...."
    

    Das Problem wird sein, dass Anführungszeichen und diese Zeichen ' darin vorkommen.

    Wie kann ich das ganze formatieren, damit ich den ganzen Befehl inkl. Parameter weitergeben kann?

    Gruss,
    Mitch

    mickymM 1 Reply Last reply
    0
    • M Mitch

      Hi,

      ich rufe per Javascript exec auf und habe auch über sudoers den Befehl erlaubt. Das klappt auch grundsätzlich, aber ich muss mehrere Parameter mitgeben:

      exec("sudo curl -X POST https://1234.meinedomain.de -H "Content-Type: application/xml" -H "Accept: application/xml" -d "<?xml version='1.0' encoding='utf-8'?><request>...."
      

      Das Problem wird sein, dass Anführungszeichen und diese Zeichen ' darin vorkommen.

      Wie kann ich das ganze formatieren, damit ich den ganzen Befehl inkl. Parameter weitergeben kann?

      Gruss,
      Mitch

      mickymM Online
      mickymM Online
      mickym
      Most Active
      wrote on last edited by mickym
      #2

      @mitch Mach das ganze in einfache Anführungszeichen. Dann aber innen drin mit doppelten oder umgekehrt, also innen nur einfache und aussen doppelte. Alternativ kannst Du wenn Du es so machst und alles in doppelte steckst, die doppelten Anführungszeichen innerhalb des Strings mit einem Backslash maskieren.

      Also so:

      exec("sudo curl -X POST https://1234.meinedomain.de -H \"Content-Type: application/xml\" -H \"Accept: application/xml\" -d \"<?xml version='1.0' encoding='utf-8'?><request>....\"")
      
      

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      M 1 Reply Last reply
      0
      • mickymM mickym

        @mitch Mach das ganze in einfache Anführungszeichen. Dann aber innen drin mit doppelten oder umgekehrt, also innen nur einfache und aussen doppelte. Alternativ kannst Du wenn Du es so machst und alles in doppelte steckst, die doppelten Anführungszeichen innerhalb des Strings mit einem Backslash maskieren.

        Also so:

        exec("sudo curl -X POST https://1234.meinedomain.de -H \"Content-Type: application/xml\" -H \"Accept: application/xml\" -d \"<?xml version='1.0' encoding='utf-8'?><request>....\"")
        
        
        M Offline
        M Offline
        Mitch
        wrote on last edited by
        #3

        @mickym Also nur Baskslash bei dem Zeichen den ich auch am Anfang und am Ende des Befehls habe. Single Quote kann also ignoriert werden.

        Werde ich testen und hier berichten.

        mickymM 1 Reply Last reply
        0
        • M Mitch

          @mickym Also nur Baskslash bei dem Zeichen den ich auch am Anfang und am Ende des Befehls habe. Single Quote kann also ignoriert werden.

          Werde ich testen und hier berichten.

          mickymM Online
          mickymM Online
          mickym
          Most Active
          wrote on last edited by mickym
          #4

          @mitch Ich habs Dir doch unten gezeigt - wenn der komplette String/Parameter des exec Befehls in doppelten Anführungszeichen steht, dann müssen ALLE doppelten Anführungszeichen innerhalb des Übergabeparameters mit Backslash maskiert werden.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Reply Last reply
          1
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          412

          Online

          32.4k

          Users

          81.4k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe