GNU/Linux >> Linux の 問題 >  >> Linux

個別の echo ステートメントにもかかわらず、スクリプト出力は 1 つのメッセージにバッファリングされますか?

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 経由のスクリプト .


Linux
  1. Bash スクリプトへのすべてのコマンドライン引数を 1 つの変数に格納したい

  2. 実行中にシェルスクリプトを編集する

  3. bash スクリプト ループ内の cat ステートメントの出力を出力する

  1. スクリプトが終了したメッセージで突然終了しますか?

  2. シェルスクリプトの予期しない動作?

  3. Linux でのバックグラウンド プロセス

  1. 出力を新しい行に分割しますか?

  2. Sedでテール出力を着色しますか?

  3. シェルスクリプトがメールコマンドでハングアップしますか?