Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Aufruf exec aus JavaScript und Übergabe Parameter

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Aufruf exec aus JavaScript und Übergabe Parameter

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mitch last edited by

      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

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Mitch last edited by 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 1 Reply Last reply Reply Quote 0
        • M
          Mitch @mickym last edited by

          @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.

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Mitch last edited by mickym

            @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.

            1 Reply Last reply Reply Quote 1
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            528
            Online

            31.6k
            Users

            79.5k
            Topics

            1.3m
            Posts

            javascript
            2
            4
            174
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo