exec-sh
Execute shell command forwarding all stdio streams.
Features
exec-sh is a wrapper for child_process.spawn with some improvements:
Cross platform command execution:
Windows:
cmd /C COMMANDothers:
sh -c COMMAND
Fowrards all stdio streams to current terminal (by default):
execSh("bash")execsh("echo -n Say: && read i && echo Said:$i")
stdout and stderr are passed to callback when available
execSh("pwd", console.log)
Showcase
// JavaScript
execSh("echo hello exec-sh && bash", { cwd: "/home" }, function(err){
if (err) {
console.log("Exit code: ", err.code);
}
});Usage
Promise Interface
Public API
execSh(command, [options], [callback])
execSh(command, [options], [callback])Execute shell command forwarding all stdio.
Parameters:
command {String|Array}- The command to run, or array of commands[options] {Object|TRUE}- Options object passed directly tochild_process.spawn, whenTRUEthen{ stdio: null }used[callback] {Function}-callback(err, stdout, stderr)err {Error|NULL}- Error object. Hascodeproperty containing last command exit code when availablestdout {String|NULL}- aggregated stdout orNULLif not availablestderr {String|NULL}- aggregated stderr orNULLif not available
Return Values:
Returns ChildProcess object.
Private API
Complete API Documentation including private and public methods is generated from source code by JSDoc tool and is available here.
Code Coverage
Code coverage report for all files is available here.
Scripts
npm test- run testsnpm run jsdoc- build jsdocnpm run dev- run tests continuously
License
The MIT License (MIT)
Last updated
Was this helpful?

