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
.