2017-07-29 3 views
0

laichen Ich möchte den folgenden Code in NodeJSNodeJS child_process Befehlseingabedatei

$ ./a.out < inputfile.txt 

So schrieb ich den folgenden Code auszuführen.

var run = spawn('./a.out', ['< input.txt']); 
var run = spawn('./a.out < input.txt'); 

Ich habe das versucht, aber es hat nicht funktioniert.

Was ich tun möchte, ist die Eingabe input.txt in a.out

wie kann ich tun?

Antwort

0

Da < (Umleitung) ein Shell-Konstrukt ist, müssen Sie Ihre Befehlszeile mit einer Shell ausführen. Das ist was child_process.exec() ist für:

const exec = require('child_process').exec; 

exec('./a.out < inputfile.txt', function(err, stdout, stderr) { 
    if (err) { 
    return console.error('exec error:', err); 
    } 
    console.log('stdout:', stdout); 
    console.log('stderr:', stderr); 
}); 
Verwandte Themen