Node's missing execSync.


Executes shell commands synchronously.

WARNING For dev machine shell scripting only. DO NOT USE for production servers.

Windows requires Python and Visual Studio 2012 (Express) installed for node to build. See node-gyp installation. Pre-built binaries for node v0.8 and node v0.10 are packaged. They should work and if not try manually building.

npm install execSync

Sometimes a manual build is necessary on Windows even with all the tools in place, replace Visual Studio version with '2010' or '2012' based on the version installed.

npm install node-gyp -g
node-gyp rebuild --msvs_version=2012

Require it

var sh = require('execSync');

Run does not capture output.

var code = sh.run('echo $USER; echo some_err 1>&2; exit 1');
console.log('return code ' + code);

Use the less efficient exec if you need output. exec is just redirection trickery around run.

var result = sh.exec('echo $USER; echo some_err 1>&2; exit 1');
console.log('return code ' + result.code);
console.log('stdout + stderr ' + result.stdout);

In *nix and OSX version commands are run via sh -c YOUR_COMMAND

In Windows commands are run via cmd /C YOUR_COMMAND

Copyright (c) 2012, 2013 Mario Gutierrez mario@mgutz.com

See the file LICENSE for copying permission.