e c507705cf8 webpack 10 miesięcy temu
..
.github c507705cf8 webpack 10 miesięcy temu
example c507705cf8 webpack 10 miesięcy temu
test c507705cf8 webpack 10 miesięcy temu
.eslintrc c507705cf8 webpack 10 miesięcy temu
.nycrc c507705cf8 webpack 10 miesięcy temu
CHANGELOG.md c507705cf8 webpack 10 miesięcy temu
LICENSE c507705cf8 webpack 10 miesięcy temu
README.md c507705cf8 webpack 10 miesięcy temu
index.js c507705cf8 webpack 10 miesięcy temu
package.json c507705cf8 webpack 10 miesięcy temu
parse.js c507705cf8 webpack 10 miesięcy temu
quote.js c507705cf8 webpack 10 miesięcy temu
security.md c507705cf8 webpack 10 miesięcy temu

README.md

shell-quote Version Badge

github actions coverage License Downloads

npm badge

Parse and quote shell commands.

example

quote

var quote = require('shell-quote/quote');
var s = quote([ 'a', 'b c d', '$f', '"g"' ]);
console.log(s);

output

a 'b c d' \$f '"g"'

parse

var parse = require('shell-quote/parse');
var xs = parse('a "b c" \\$def \'it\\\'s great\'');
console.dir(xs);

output

[ 'a', 'b c', '\\$def', 'it\'s great' ]

parse with an environment variable

var parse = require('shell-quote/parse');
var xs = parse('beep --boop="$PWD"', { PWD: '/home/robot' });
console.dir(xs);

output

[ 'beep', '--boop=/home/robot' ]

parse with custom escape character

var parse = require('shell-quote/parse');
var xs = parse('beep ^--boop="$PWD"', { PWD: '/home/robot' }, { escape: '^' });
console.dir(xs);

output

[ 'beep --boop=/home/robot' ]

parsing shell operators

var parse = require('shell-quote/parse');
var xs = parse('beep || boop > /byte');
console.dir(xs);

output:

[ 'beep', { op: '||' }, 'boop', { op: '>' }, '/byte' ]

parsing shell comment

var parse = require('shell-quote/parse');
var xs = parse('beep > boop # > kaboom');
console.dir(xs);

output:

[ 'beep', { op: '>' }, 'boop', { comment: '> kaboom' } ]

methods

var quote = require('shell-quote/quote');
var parse = require('shell-quote/parse');

quote(args)

Return a quoted string for the array args suitable for using in shell commands.

parse(cmd, env={})

Return an array of arguments from the quoted string cmd.

Interpolate embedded bash-style $VARNAME and ${VARNAME} variables with the env object which like bash will replace undefined variables with "".

env is usually an object but it can also be a function to perform lookups. When env(key) returns a string, its result will be output just like env[key] would. When env(key) returns an object, it will be inserted into the result array like the operator objects.

When a bash operator is encountered, the element in the array with be an object with an "op" key set to the operator string. For example:

'beep || boop > /byte'

parses as:

[ 'beep', { op: '||' }, 'boop', { op: '>' }, '/byte' ]

install

With npm do:

npm install shell-quote

license

MIT