Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Excute shell commands in queue
JavaScript
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
tests
.gitignore promise
.travis.yml travis test in other node versions
LICENSE first commit
README.md README
index.js Pass test & jshint.
package.json Bump 2.2.0

README.md

exeq

Excute shell commands in queue.

NPM version Build Status David Status NPM downloads


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)

Something went wrong with that request. Please try again.