2017-01-09 3 views
0

Ich kann nicht eine einfache Befehlszeile erzeugen: su username -c "ls -la"NodeJS Spawn "su user -c 'ls -la'" funktioniert nicht

hier ist mein Code:

var childArgs = [ 
    'username', 
    '-c', 
    '"ls -la"' 
]; 

var ph = spawn('su', childArgs); 

ph.stdout.on('data', function (data) { 
    console.log(data); 
}); 

ph.stderr.on('data', function (data) { 
    console.log('stderr___' + data); 
}); 

ph.on('close', function (code) { 
    console.log('close__' + code); 
}); 

ph.on('error', function (error) { 
    console.log('error___' + error); 
}); 

Ausgabe:

stderr___bash: ls -la: Befehl nicht

ist es eine Möglichkeit gefunden diesen Befehl vi zum laichen a nodejs?

Antwort

0

es funktioniert nur, wenn ich doppelte Anführungszeichen

var childArgs = [ 
    'spawnuser', 
    '-c', 
    'ls -la' 
]; 
0

Teilen Sie Ihre "ls -la" in zwei Elemente im Array.

var childArgs = [ 
    'username', 
    '-c', 
    'ls', 
    '-la' 
]; 
+0

funktioniert nicht entfernen: stderr___su: ungültige Option - 'a' Verbrauch: su [Optionen] [LOGIN] – YouneL

Verwandte Themen