NEWS
exec zeigt keinen Wert
-
Hallo,
ich möchte einfach einen Wert aus einer Datei anzeigen lassen und scheitere bisher kläglich.
Es handelt sich um eine einfache Textdatei, in der in einziger Wert steht. Exec funktioniert, da ich mit einem "touch" eine Datei anlegen konnte. Aber das Lesen mit Wertausgabe geht irgendwie nicht. Er müsste den Wert "20" ausspucken. Aber wie man im Log sieht, kommt da einfach nichts mit.
Rechteproblem schliesse ich aus, da der user iobroker auf shell ebene diese Datei lesen kann.
Das System ist neu aufgesetztNode.js : v16.17.1
NPM : v8.15.0
Admin : 6.2.12 (downgrade von 6.2.22 wegen verschiedener Rechteprobleme)
JavaScript Adaper: 6.0.3exec('/bin/cat /tmp/a.txt', async function (error, result, stderr) { console.debug('output:'); }); console.log("exec: " + '/bin/cat /tmp/a.txt');
Ausgabe im Log:
08:13:35.325 info javascript.0 (27266) Start javascript script.js.Skript_2 08:13:35.407 info javascript.0 (27266) script.js.Skript_2: exec: /bin/cat /tmp/a.txt 08:13:35.409 info javascript.0 (27266) script.js.Skript_2: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 08:13:35.422 debug javascript.0 (27266) script.js.Skript_2: output:
-
@joo Dann darfst Du nicht nur den Text "output" ausgeben, sondern solltest auch das Ausgeben, was exec Dir zurückliefert. Leg ein neue Variable mit dem Namen
result
an und pack die in den Debug-Block.Und Du musst natürlich auf die Rechte achten, dass der Linux-Nutzer
iobroker
die Datei auch lesen darf. -
Super, danke Dir!
das war der entscheidende Hinweis.
Nun geht das auch.