2017-01-09 9 views
0

を働いていない私は、単純なコマンドラインを起動することはできません。ここにsu username -c "ls -la"nodejs卵 "のsuユーザー-c 'はLS -la'"

は私のコードです:

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

出力:

stderr___bashます。ls -la:

を見つけていないコマンドは、このコマンドのviを起動するにはどのような方法がありますa nodejs

答えて

0

それは私が二重引用符に

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

"ls -la"を配列の2つの項目に分割します。

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

を削除する場合にのみ動作していない作品:stderr___su:無効なオプション - '' 使用します。su [オプション] [LOGIN] – YouneL

関連する問題