Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Utilities for using bash from node.js.

branch: master
Octocat-spinner-32 lib Initial code August 22, 2011
Octocat-spinner-32 test Initial code August 22, 2011
Octocat-spinner-32 .gitignore package.json and gitignore August 22, 2011
Octocat-spinner-32 License Initial readme and license August 22, 2011
Octocat-spinner-32 Readme.md Uniform syntax August 22, 2011
Octocat-spinner-32 index.js Initial code August 22, 2011
Octocat-spinner-32 package.json version 0.0.1 August 22, 2011
Readme.md

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.

Something went wrong with that request. Please try again.