Sie können den readline verwenden Schnittstelle, die als Teil der Knoten-APIs bereitgestellt wird. Weitere Informationen hier https://nodejs.org/api/readline.html#readline_event_line. Sie verwenden spawn wie es ist, übergeben Sie die stdout bis readline damit es die Zeilen analysieren kann. Nicht sicher, ob dies das ist, was Sie beabsichtigen. Hier ist ein Beispielcode:
var process = require('child_process');
const readline = require('readline');
var child = process.spawn('./test.sh');
// Use readline interface
const readlinebyline = readline.createInterface({ input: child.stdout });
// Called when a line is received
readlinebyline.on('line', (line) => {
line = JSON.stringify(line.toString('utf8'));
console.log(line);
});
Ausgabe:
"first message"
"second message"
"third message"
Wenn Sie einen Fehler wie TypeError: input.on is not a function erhalten , vergewissern Sie sich, dass Sie Ausführungsrechte für test.sh haben Skript über chmod +x test.sh .