readline を使用できます ノード API の一部として提供されるインターフェイス。詳細については、https://nodejs.org/api/readline.html#readline_event_line をご覧ください。 spawn を使用します ただし、 stdout を渡します readline まで 行を解析できるようにします。これが意図したものかどうかはわかりません。サンプルコードは次のとおりです:
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);
});
出力:
"first message"
"second message"
"third message"
TypeError: input.on is not a function のようなエラーが発生した場合 test.sh に対する実行権限があることを確認してください chmod +x test.sh 経由のスクリプト .