1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
# 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:
```javascript
> 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:
```javascript
> bash.args({a: 1, b: 2}, '--', '=');
'--a=1 --b=2'
```
Values are escaped:
```javascript
> bash.args({foo: 'hi you'}, '--', '=');
'--foo=hi\\ you'
```
Array values turn into multiple arguments:
```javascript
> bash.args({a: [1, 2]}, '--', '=');
'--a=1 --a=2'
```
`null` / `true` values turn into flags:
```javascript
> bash.args({a: true, b: null}, '--', '=');
'--a --b'
```
Alternate suffix / prefix settings:
```javascript
> bash.args({a: 1, b: 2}, '-', ' ');
'-a 1 -b 2'
```
`options` can be an array as well:
```javascript
> bash.args([{a: 1}, {a: 2, b: 3}] '-', ' ');
'-a 1 -a 2 -b 3'
```
## License
This library is released under the MIT license.
|