NEWS
Shell Script ausführen
-
Hallo zusammen,
ich versuche verzweifelt ein Bash Script per JavaScript auszuführen, aber irgendwie klappt es nicht.
ich verwende eine Debian Maschine mit iobroker Installation.
Zu meinem Problem, ich habe ein BashScript erstellt, dass auf der Konsole funktioniert aber wenn ich es per Javascript aufrufen will, passiert nix.
exec('nohup /home/agreen/scripte/ambi_on.sh /dev/null &');
-
Hi,
exec() klingt mir irgendwie nach PHP.
Ich bin zwar EXTREM neu bei ioBroker aber bei Node.js brauchst erstellst du beim Ausführen eines Programms einen Child-Process.
Siehe https://nodejs.org/api/child_process.html
Gerade nohup, die Pipes und das & am Ende willst du nicht haben, dies landet dann in deinen Streams (zb stdout, stderr).
Wenn du den Output und Return-Codes verwerfen willst würde wohl spawn für dich passen:
const { spawn } = require('child_process'); const ambiPipes = spawn('/home/agreen/scripte/ambi_on.sh', /* args as array ]*/);
-
danke für den Tipp, habe aber das Problem gefunden.
in meinem Bash Script wird eine SSH Verbindung gemacht und ich habe die Keys nur für den agreen User hinterlegt. Habe die jetzt für den root kopiert und sie da … es geht