GNU/Linux >> Belajar Linux >  >> Linux

Output skrip disangga menjadi satu pesan, meskipun pernyataan gema terpisah?

Anda dapat menggunakan readline antarmuka yang disediakan sebagai bagian dari API node. Informasi lebih lanjut di sini https://nodejs.org/api/readline.html#readline_event_line. Anda akan menggunakan spawn karena bagaimanapun lulus stdout ke readline sehingga dapat mengurai garis. Tidak yakin apakah ini yang ingin Anda lakukan. Berikut beberapa contoh kode:

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);
});

Keluaran:

"first message"
"second message"
"third message"

Jika Anda mendapatkan error seperti TypeError: input.on is not a function , pastikan Anda memiliki hak istimewa eksekusi pada test.sh skrip melalui chmod +x test.sh .


Linux
  1. Script Berakhir Tiba-tiba Dengan Pesan yang Dihentikan?

  2. Perilaku Tak Terduga Dari Skrip Shell?

  3. Script Shell Hang Pada Perintah Mail?

  1. Melanggar Output Menjadi Baris Baru?

  2. MultiCD – Skrip Shell untuk Menggabungkan Beberapa ISO yang Dapat Di-boot menjadi Satu CD

  3. Gabungkan beberapa perintah unix menjadi satu output

  1. Mewarnai Keluaran Ekor Dengan Sed?

  2. Menggunakan Pernyataan Kasus di Bash

  3. Saya ingin menyimpan semua argumen baris perintah ke skrip Bash ke dalam satu variabel