Null Pointer Micromanagement

    shell-quote
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/shell-quote package

    1.7.2 • Public • Published

    shell-quote

    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 charcter

    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

    Install

    npm i shell-quote

    DownloadsWeekly Downloads

    10,587,738

    Version

    1.7.2

    License

    MIT

    Unpacked Size

    21 kB

    Total Files

    17

    Last publish

    Collaborators

    • goto-bus-stop
    • jiwaddell
    • karissa
    • substack