Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

69 lines (46 sloc) 1.136 kb


Utilities for using bash from node.js.



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


> 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'


This library is released under the MIT license.

Jump to Line
Something went wrong with that request. Please try again.