Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] exec() function wert übergeben

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] exec() function wert übergeben

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Farmer-cb last edited by

      Hallo

      stehe gerade vor einem Problem,

      ich habe einen exec() aufruf und muss der darin enthaltenen function einen Wert übergeben.

      So hab ich es versucht: 😞

      var meineVariable="halliHallo";
      exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL", function(error,body,stderr,meineVariable){log("wert:"+meineVariable);}
      
      

      leider funktioniert das nicht, es wird ein logeintrag mit wert: undefined ausgegeben

      gibt es da eine möglichkeit??? :?:

      1 Reply Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer last edited by

        @Farmer-cb:

        ich habe einen exec() aufruf und muss der darin enthaltenen function einen Wert übergeben. `

        So wie du es machst, erzeugst du eine neue Variable im Scope der Funktion, die keinen Wert übergeben bekommt, da exec den 4. Parameter nicht erwartet. Probiere es mal so:

        var meineVariable="halliHallo";
        exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL", function(error,body,stderr){log("wert:"+meineVariable);}
        
        
        1 Reply Last reply Reply Quote 0
        • F
          Farmer-cb last edited by

          Hallo

          habs ausprobiert

          var meineVariable="halliHallo";
          exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL", function(error,body,stderr){log("wert:"+meineVariable);}
          

          kommt leider auch wert:undefined 😞

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            @Farmer-cb:

            ich habe einen exec() aufruf und muss der darin enthaltenen function einen Wert übergeben. `
            Alles, was mit exec an das auszuführende Kommando (wget) übergeben werden soll, muss innerhalb der Kommandozeile übergeben werden. Beispiel:

            var meineVariable="halliHallo";
            exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL"?' + meineVariable, function(error, stdout, stderr) {
               log(stdout);  // Rückgabe von wget bei erfolgreicher Ausführung
            });
            
            1 Reply Last reply Reply Quote 0
            • F
              Farmer-cb last edited by

              heisst also so geht es nicht 😢

              1 Reply Last reply Reply Quote 0
              • AlCalzone
                AlCalzone Developer last edited by

                ??? Du musst nur das 4. Argument deiner Funktion weglassen, damit diese Zugriff auf die vorher definierte Variable bekommt.

                Hast du meinen Codeschnipsel mal ausprobiert?

                1 Reply Last reply Reply Quote 0
                • F
                  Farmer-cb last edited by

                  @AlCalzone:

                  ??? Du musst nur das 4. Argument deiner Funktion weglassen, damit diese Zugriff auf die vorher definierte Variable bekommt.

                  Hast du meinen Codeschnipsel mal ausprobiert? ` Wie ich unter #3 geschrieben habe, funktioniert das leider auch nicht.

                  Oder mach ich da noch was verkehrt

                  Gesendet von meinem FRD-L09 mit Tapatalk

                  1 Reply Last reply Reply Quote 0
                  • AlCalzone
                    AlCalzone Developer last edited by

                    @Farmer-cb:

                    Hallo

                    habs ausprobiert

                    var meineVariable="halliHallo";
                    exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL", function(error,body,stderr){log("wert:"+meineVariable);}
                    

                    kommt leider auch wert:undefined 😞 `

                    Hab ich übersehen, sorry. Ist das der vollständige Code? So wie das da steht, dürfte meineVariable im Callback niemals undefined sein.

                    1 Reply Last reply Reply Quote 0
                    • F
                      Farmer-cb last edited by

                      dein Hinweis war richtig

                      hab jetzt nochmal rumgespielt und siehe da, es funktioniert

                      mein Problem war, das ich vor lauter rumspielen, nach dem Log-Befehl nochmal var meineVariable='dd'; geschrieben und das war anscheinend das Problem

                      var meineVariable="halliHallo";
                      exec('wget --no-check-certificate -0 - -q "meine aufzurufende URL", 
                                                   function(error,body,stderr)
                                                                              {
                                                                                  log("wert:"+meineVariable);
                                                        der Fehler  ---->  var meine Variable='test';
                                                                              }
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 last edited by

                        Der Log zeigt sicherlich

                        wert:halliHallo
                        

                        Das liegt daran, dass meineVariable im Skript global deklariert und durch die exec-Funktion nicht beeinflusst wird.

                        Es ist wohl nicht das, was Du erreichen wolltest ?

                        1 Reply Last reply Reply Quote 0
                        • F
                          Farmer-cb last edited by

                          Doch, es ist jetzt genau so wie ich es brauchte,

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          951
                          Online

                          31.7k
                          Users

                          79.9k
                          Topics

                          1.3m
                          Posts

                          3
                          11
                          709
                          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