NEWS
Anfängerfrage: Variable in ssh exec Befehl
-
Hallo,
ich hoffe es kann mir jemand helfen.
Ich versuche gerade ein Script zu erstellen, dass mir die LED an meiner UDR steuert.
Die gewünschte Farbe wird in einen Datenpunkt geschrieben und dieser Datenpunkt soll in einem exec Befehl über ssh als Variable eingefügt werden.
In Zeile 3 habe ich versucht die Variable zu definieren und in Zeile 9 im Befehl zu integrieren aber es klappt nicht.var SSH = require ('simple-ssh'); var COLOR = ('0_userdata.0.UDR_Color'); var ssh = new SSH({ host: '192.x.x.x', user: 'xxx', pass: 'xxx' }); ssh.exec('echo',COLOR, '> /sys/class/leds/mcu0/color').start();
Kann mir jemand weiterhelfen?
-
@stefan2812 sagte: es klappt nicht.
var COLOR = getState('0_userdata.0.UDR_Color').val;
-
@paul53 danke, dann war ja das schonmal falsch aber wie setze ich die Variable jetzt in Zeile 9 ein?
Der eigentliche Befehl lautetecho #00FF00 > /sys/class/leds/mcu0/color').start();
und statt dem 00FF00 muss dann der Wert aus der Variable rein.
-
@stefan2812 sagte: wie setze ich die Variable jetzt in Zeile 9 ein?
Stringverkettung:
ssh.exec('echo ' + COLOR + ' > /sys/class/leds/mcu0/color').start();
Keine Ahnung, ob es so richtig an echo übergeben wird.
-
@paul53 1000 Dank - es funktioniert.
-
@stefan2812 oder mit Template literals (das sind Backticks):
ssh.exec(`echo ${COLOR} > /sys/class/leds/mcu0/color`).start();