123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- //
- // ShellJS
- // Unix shell commands on top of Node's API
- //
- // Copyright (c) 2012 Artur Adib
- // http://github.com/shelljs/shelljs
- //
- var common = require('./src/common');
- //@
- //@ All commands run synchronously, unless otherwise stated.
- //@ All commands accept standard bash globbing characters (`*`, `?`, etc.),
- //@ compatible with the [node `glob` module](https://github.com/isaacs/node-glob).
- //@
- //@ For less-commonly used commands and features, please check out our [wiki
- //@ page](https://github.com/shelljs/shelljs/wiki).
- //@
- // Include the docs for all the default commands
- //@commands
- // Load all default commands
- require('./commands').forEach(function (command) {
- require('./src/' + command);
- });
- //@
- //@ ### exit(code)
- //@
- //@ Exits the current process with the given exit `code`.
- exports.exit = process.exit;
- //@include ./src/error
- exports.error = require('./src/error');
- //@include ./src/common
- exports.ShellString = common.ShellString;
- //@
- //@ ### env['VAR_NAME']
- //@
- //@ Object containing environment variables (both getter and setter). Shortcut
- //@ to `process.env`.
- exports.env = process.env;
- //@
- //@ ### Pipes
- //@
- //@ Examples:
- //@
- //@ ```javascript
- //@ grep('foo', 'file1.txt', 'file2.txt').sed(/o/g, 'a').to('output.txt');
- //@ echo('files with o\'s in the name:\n' + ls().grep('o'));
- //@ cat('test.js').exec('node'); // pipe to exec() call
- //@ ```
- //@
- //@ Commands can send their output to another command in a pipe-like fashion.
- //@ `sed`, `grep`, `cat`, `exec`, `to`, and `toEnd` can appear on the right-hand
- //@ side of a pipe. Pipes can be chained.
- //@
- //@ ## Configuration
- //@
- exports.config = common.config;
- //@
- //@ ### config.silent
- //@
- //@ Example:
- //@
- //@ ```javascript
- //@ var sh = require('shelljs');
- //@ var silentState = sh.config.silent; // save old silent state
- //@ sh.config.silent = true;
- //@ /* ... */
- //@ sh.config.silent = silentState; // restore old silent state
- //@ ```
- //@
- //@ Suppresses all command output if `true`, except for `echo()` calls.
- //@ Default is `false`.
- //@
- //@ ### config.fatal
- //@
- //@ Example:
- //@
- //@ ```javascript
- //@ require('shelljs/global');
- //@ config.fatal = true; // or set('-e');
- //@ cp('this_file_does_not_exist', '/dev/null'); // throws Error here
- //@ /* more commands... */
- //@ ```
- //@
- //@ If `true`, the script will throw a Javascript error when any shell.js
- //@ command encounters an error. Default is `false`. This is analogous to
- //@ Bash's `set -e`.
- //@
- //@ ### config.verbose
- //@
- //@ Example:
- //@
- //@ ```javascript
- //@ config.verbose = true; // or set('-v');
- //@ cd('dir/');
- //@ rm('-rf', 'foo.txt', 'bar.txt');
- //@ exec('echo hello');
- //@ ```
- //@
- //@ Will print each command as follows:
- //@
- //@ ```
- //@ cd dir/
- //@ rm -rf foo.txt bar.txt
- //@ exec echo hello
- //@ ```
- //@
- //@ ### config.globOptions
- //@
- //@ Example:
- //@
- //@ ```javascript
- //@ config.globOptions = {nodir: true};
- //@ ```
- //@
- //@ Use this value for calls to `glob.sync()` instead of the default options.
- //@
- //@ ### config.reset()
- //@
- //@ Example:
- //@
- //@ ```javascript
- //@ var shell = require('shelljs');
- //@ // Make changes to shell.config, and do stuff...
- //@ /* ... */
- //@ shell.config.reset(); // reset to original state
- //@ // Do more stuff, but with original settings
- //@ /* ... */
- //@ ```
- //@
- //@ Reset `shell.config` to the defaults:
- //@
- //@ ```javascript
- //@ {
- //@ fatal: false,
- //@ globOptions: {},
- //@ maxdepth: 255,
- //@ noglob: false,
- //@ silent: false,
- //@ verbose: false,
- //@ }
- //@ ```
|