/node-bash

Utilities for using bash from node.js.

Primary LanguageJavaScriptMIT LicenseMIT

bash

Utilities for using bash from node.js.

API

bash.escape(parameter)

Escapes the given parameter for bash. This is done by escaping all non alpha-numeric / dash characters with a backslash.

Example:

> bash.escape('hello world');
'Hello\\ World'

bash.args(options, prefix, suffix)

Takes a list of options and turns them into an arguments string common to most *nix programs.

Objects are turned into arguments:

> bash.args({a: 1, b: 2}, '--', '=');
'--a=1 --b=2'

Values are escaped:

> bash.args({foo: 'hi you'}, '--', '=');
'--foo=hi\\ you'

Array values turn into multiple arguments:

> bash.args({a: [1, 2]}, '--', '=');
'--a=1 --a=2'

null / true values turn into flags:

> bash.args({a: true, b: null}, '--', '=');
'--a --b'

Alternate suffix / prefix settings:

> bash.args({a: 1, b: 2}, '-', ' ');
'-a 1 -b 2'

options can be an array as well:

> bash.args([{a: 1}, {a: 2, b: 3}] '-', ' ');
'-a 1 -a 2 -b 3'

License

This library is released under the MIT license.