diff options
| author | Priyansh <[email protected]> | 2020-12-22 17:49:59 +0530 |
|---|---|---|
| committer | Priyansh <[email protected]> | 2020-12-22 17:49:59 +0530 |
| commit | e93da8b04da86773247aadb1cbb1912e4f4526b2 (patch) | |
| tree | eb4ef3203a92ed3dbd2252ddb1ea23bd2d670c98 /node_modules/node-cmd/README.md | |
| parent | a5743c293dcb435e4b159a4df791f8955a4110ec (diff) | |
| download | styx-e93da8b04da86773247aadb1cbb1912e4f4526b2.tar.xz styx-e93da8b04da86773247aadb1cbb1912e4f4526b2.zip | |
Rewriting Project
Diffstat (limited to 'node_modules/node-cmd/README.md')
| -rw-r--r-- | node_modules/node-cmd/README.md | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/node_modules/node-cmd/README.md b/node_modules/node-cmd/README.md new file mode 100644 index 0000000..3afbf7a --- /dev/null +++ b/node_modules/node-cmd/README.md @@ -0,0 +1,158 @@ +# node-cmd + +*Node.js commandline/terminal interface.* + +Simple commandline or terminal interface to allow you to run cli or bash style commands as if you were in the terminal. + +Run commands asynchronously, and if needed can get the output as a string. + +#### NPM Stats + +npm info : +[](https://nodei.co/npm/node-cmd/) +[See npm trends and stats for node-cmd](http://npm-stat.com/charts.html?package=node-cmd&author=&from=&to=) +     + +[](https://github.com/RIAEvangelist) + +GitHub info : +   + +Package details websites : +* [GitHub.io site](http://riaevangelist.github.io/node-cmd/ "node-cmd documentation"). A prettier version of this site. +* [NPM Module](https://www.npmjs.org/package/node-cmd "node-cmd npm module"). The npm page for the node-cmd module. + +This work is licenced via the [DBAD Public Licence](http://www.dbad-license.org/). + + +# Methods + +|method | arguments | functionality | +|-------|-----------|---------------| +|run | command | runs a command asynchronously| +|get | command,callback | runs a command asynchronously, when the command is complete all of the stdout will be passed to the callback| + + +## Examples + +```javascript + + var cmd=require('node-cmd'); + + cmd.get( + 'pwd', + function(err, data, stderr){ + console.log('the current working dir is : ',data) + } + ); + + cmd.run('touch example.created.file'); + + cmd.get( + 'ls', + function(err, data, stderr){ + console.log('the current dir contains these files :\n\n',data) + } + ); + + cmd.get( + ` + git clone https://github.com/RIAEvangelist/node-cmd.git + cd node-cmd + ls + `, + function(err, data, stderr){ + if (!err) { + console.log('the node-cmd cloned dir contains these files :\n\n',data) + } else { + console.log('error', err) + } + + } + ); + +``` + +## With promises + +this example by @stephen-last + +``` javascript + +import Promise from 'bluebird' +import cmd from 'node-cmd' + +const getAsync = Promise.promisify(cmd.get, { multiArgs: true, context: cmd }) + +getAsync('node -v').then(data => { + console.log('cmd data', data) +}).catch(err => { + console.log('cmd err', err) +}) + +``` + +## Accessing the CMD Process +If you need PIDs, stdio,stdin, stdout, stderr, etc. access, for use in your code, or cleaning up, @freemany added in some functionality to get a reference to the child process as the returned value of the ` get ` and ` run ` calls. + + +### Getting Process ID + +```javascript + + var cmd=require('../cmd.js'); + + var process=cmd.get('node'); + console.log(process.pid); + +``` + +### Running a python shell from node + +```javascript +const cmd=require('../cmd.js'); + +const processRef=cmd.get('python -i'); +let data_line = ''; + +//listen to the python terminal output +processRef.stdout.on( + 'data', + function(data) { + data_line += data; + if (data_line[data_line.length-1] == '\n') { + console.log(data_line); + } + } +); + +const pythonTerminalInput=`primes = [2, 3, 5, 7] +for prime in primes: + print(prime) + +`; + +//show what we are doing +console.log(`>>>${pythonTerminalInput}`); + +//send it to the open python terminal +processRef.stdin.write(pythonTerminalInput); + +``` + +Output : + +```python + +>>>primes = [2, 3, 5, 7] +for prime in primes: + print(prime) + + +2 +3 +5 +7 + + +``` |
