Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Exec führt .sh nicht aus

NEWS

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

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

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

Exec führt .sh nicht aus

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
14 Beiträge 8 Kommentatoren 4.1k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • eumatsE Offline
    eumatsE Offline
    eumats
    schrieb am zuletzt editiert von
    #2

    Ich habe zwar nicht viel Erfahrung mit der exec Funktion, aber wenn ich das richtig sehe besteht dein Skript nur als effektiv einem Kommando. Füge das Kommando doch mal in Blocky ein.

    1 Antwort Letzte Antwort
    0
    • F Offline
      F Offline
      FrY
      schrieb am zuletzt editiert von
      #3

      Das Topic ist zwar etwas älter, aber ich scheitere genau an der selben Stelle. Alles, was ich ausführe (per exec) funktioniert, ein Aufruf eines .sh Scripts funktioniert beim besten Willen nicht.

      Führe ich den Command auf der Shell aus, funktioniert er - nur irgendwie scheint der Adapter da irgendwo was anders zu machen als erwartet.

      Bin für jeden Rat dankbar!

      1 Antwort Letzte Antwort
      0
      • H Offline
        H Offline
        homecineplexx
        schrieb am zuletzt editiert von
        #4

        hat das script auch die richtigen options?

        also chmod +x Playertest.sh

        1 Antwort Letzte Antwort
        0
        • F Offline
          F Offline
          FrY
          schrieb am zuletzt editiert von
          #5

          Ja, wenn ich es aus der Shell ausführe, funktioniert es. Da javascript unter root läuft (leider), kann ich es auch per sudo ausführen und es funktioniert auch. Habe, wie der Topiceröffner, gefühlt alle Kombinationen durch.

          1 Antwort Letzte Antwort
          0
          • HomoranH Offline
            HomoranH Offline
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #6

            @FrY:

            Da javascript unter root läuft (leider), `
            das gilt nur bei alten Installationen und selbst dort nur, wenn ioBroker unter root installiert wurde.

            Spätestens bei der Installation von iobroker mit curl… statt npm install.... läuft alles unter dem User iobroker.

            Gruß

            Rainer

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              Matz
              schrieb am zuletzt editiert von
              #7

              Hallo zusammen,

              ich versuche ebenfalls seit Tagen aus einem Skript mit exec ein shellscript (.sh) auszuführen.

              Das shellscript lässt sich im Terminal ausführen, aus meinem Skript heraus funktionieren mit exec andere Befehle, nur der Aufruf des .sh will einfach nicht klappen:

              exec('/home/pi/test.sh', function(err, stdout, stderr) {

              if (err) {

              log(stderr,'error');

              return;

              }

              Ich wäre ebenfalls für jeden Tipp sehr dankbar ;)

              1 Antwort Letzte Antwort
              0
              • F Offline
                F Offline
                FrY
                schrieb am zuletzt editiert von
                #8

                Jaaaaaa, exakt das habe ich auch. Auch ein debug bringt bei mir keinen Output :-(

                1 Antwort Letzte Antwort
                0
                • F Offline
                  F Offline
                  FrY
                  schrieb am zuletzt editiert von
                  #9

                  Ich habe auf GitHub mal ein Issue angelegt:

                  https://github.com/ioBroker/ioBroker.ja … issues/292

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Matz
                    schrieb am zuletzt editiert von
                    #10

                    Hallo FrY,

                    ich habe jetzt auch nochmal alles erdenkliche ausprobiert, leider keine Chance :|

                    Ich habe sogar als letzten Strohhalm meine javascript Instanz auf die aktuellste Version hochgezogen..

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      Matz
                      schrieb am zuletzt editiert von
                      #11

                      Hallo FRY,

                      ich habe hier im Forum ein Script von "paul53" gefunden. (vielen Dank!)

                      Mit dieser Methode, über SSH, habe ich mir jetzt erstmal geholfen.

                      Funktioniert einwandfrei..

                      Hier die function:

                      function execscript() {
                      var conn = new Client();
                        conn.on('ready', function() {
                          conn.exec(' /home/pi/copyscript.sh', function(err, stream) {
                            if (err) throw err;
                            stream.on('close', function(code, signal) {
                              conn.end();
                            }).on('data', function(data) {
                              log('Ausgabe: ' + data);
                            }).stderr.on('data', function(data) {
                              log('Fehler: ' + data);
                            });
                          });
                        }).connect({
                          host: '192.168.XXX.XXX', // IP eintragen
                          port: 22,
                          username: 'XXXXX',
                          password: 'XXXXX'
                        });
                      }
                      

                      Gruß Matz

                      1 Antwort Letzte Antwort
                      1
                      • F Offline
                        F Offline
                        FrY
                        schrieb am zuletzt editiert von
                        #12

                        Hallo Matz,

                        besten Dank - habe zeitgleich vom Entwickler eine Rückmeldung bekommen.

                        Das Problem ist der User, der es ausführt. Meine Scripte lagen z. B. als Test in

                        /home/pi

                        /root

                        etc.

                        Der Javascript-Adapter wird aber als user "iobroker" ausgeführt. Lege ich ein Script in /home/iobroker ab, funktioniert es.

                        1 Antwort Letzte Antwort
                        0
                        • F Offline
                          F Offline
                          fraeggle
                          schrieb am zuletzt editiert von
                          #13

                          Ich hatte z.B. das Problem, das der Reboot und shutdown auch nicht ausgeführt wurde. Folgendes hat in Bezug darauf geholfen.

                          Änderung der /etc/sudoers wie folgt

                          iobroker ALL=(ALL;ALL) ALL

                          iobroker ALL=NOPASSWD:/sbin/reboot

                          iobroker ALL=NOPASSWD:/sbin/shutdown

                          Das Problem trat bei mir nach einer Neuinstallation mit dem curl…... Befehl auf

                          1 Antwort Letzte Antwort
                          0
                          • U Offline
                            U Offline
                            uwe72
                            schrieb am zuletzt editiert von
                            #14

                            Bei mir funktioniert den Aufruf des Scriptes wie oben beschrieben:

                            Siehe Screenshot ganz unten:
                            a92b61f0-c9f9-4c68-bdf4-4a0d2f1a49a5-image.png

                            Das Linux-Script ruft ein "Art Programm" auf. Wir kann ich dann im Anschluss per ioBroker-Script weiter auf "der Linux Konsole" weiterarbeiten?

                            In dem konkreten Fall - wenn ich dies unter Linux mache - kann ich eben den Pfad zu einem Bild eingeben.

                            Kann ich die "Session" auf die Linux-Konsole offen halten und "remote" Eingaben machen?

                            1 Antwort Letzte Antwort
                            0
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            361

                            Online

                            32.5k

                            Benutzer

                            81.6k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe