Package Exports
- exeq
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (exeq) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
exeq
Excute shell commands in queue.
Install
$ npm install exeq --save
Usage
exeq()
exeq(
'mkdir example',
'rm -rf example'
);
Promise 2.0.0+
// promise
exeq(
'mkdir example',
'cd example',
'touch README.md',
'touch somefile',
'rm somefile',
'ls -l',
'cd ..',
'rm -rf example',
'ls -l > output.txt'
).then(function() {
console.log('done!');
}).catch(function(err) {
console.log(err);
});
Array
exeq([
'mkdir example',
'rm -rf example'
]);
stdout & stderr
exeq(
'echo 123',
'echo 456',
'echo 789'
).then(function(results) {
console.log(results[0].stdout); // '123'
console.log(results[1].stdout); // '456'
console.log(results[2].stdout); // '789'
});
exeq(
'not-existed-command'
).then(function(results) {
}).catch(function(err) {
console.log(err); // { code: '127', stderr: ' ... ' }
});
change cwd
// cd command would change spawn cwd automatically
// create README.md in example
exeq(
'mkdir example',
'cd example',
'touch README.md'
);
Kill the execution
var proc = exeq([
'echo 1',
'sleep 10',
'echo 2'
]);
proc.q.kill();
Events
var proc = exeq([
'echo 1',
'echo 2'
]);
proc.q.on('stdour', function(data) {
console.log(data);
});
proc.q.on('stderr', function(data) {
console.log(data);
});
proc.q.on('killed', function(reason) {
console.log(reason);
});
proc.q.on('done', function() {
});
proc.q.on('failed', function() {
});
Test
$ npm test
License
The MIT License (MIT)