189 votes

Comment exécuter la commande shell en Javascript

Je veux écrire une fonction JavaScript qui exécutera les commandes du shell système (ls par exemple) et retournera la valeur.

Comment y parvenir ?

181voto

Josh Points 81

Je répondrai en supposant que lorsque le demandeur a dit "Shell Script" il voulait dire un Node.js backend JavaScript. Possibilité d'utiliser command.js pour encadrer votre code :)

Vous pouvez utiliser le module child_process de l'API du nœud. J'ai collé l'exemple de code ci-dessous.

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

exec('cat *.js bad_file | wc -l',
    function (error, stdout, stderr) {
        console.log('stdout: ' + stdout);
        console.log('stderr: ' + stderr);
        if (error !== null) {
             console.log('exec error: ' + error);
        }
    });

J'espère que ça va aider !

29voto

Matt Points 21690

Cela dépend entièrement de l'environnement JavaScript. Veuillez préciser.

Par exemple, dans Windows Scripting, vous faites des choses comme :

var shell = WScript.CreateObject("WScript.Shell");
shell.Run("command here");

20voto

Dana Points 1116

En bref :

// Instantiate the Shell object and invoke its execute method.
var oShell = new ActiveXObject("Shell.Application");

var commandtoRun = "C:\\Winnt\\Notepad.exe";
if (inputparms != "") {
  var commandParms = document.Form1.filename.value;
}

// Invoke the execute method.  
oShell.ShellExecute(commandtoRun, commandParms, "", "open", "1");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X