Elijah Shaw-Rutschman 5606c1fd5d Better dockerRunArgs handling, ensure slug is lowercase 4 år sedan
..
.github 5606c1fd5d Better dockerRunArgs handling, ensure slug is lowercase 4 år sedan
test 5606c1fd5d Better dockerRunArgs handling, ensure slug is lowercase 4 år sedan
.eslintrc.json 5606c1fd5d Better dockerRunArgs handling, ensure slug is lowercase 4 år sedan
LICENSE 5606c1fd5d Better dockerRunArgs handling, ensure slug is lowercase 4 år sedan
README.md 5606c1fd5d Better dockerRunArgs handling, ensure slug is lowercase 4 år sedan
package.json 5606c1fd5d Better dockerRunArgs handling, ensure slug is lowercase 4 år sedan
shlex.d.ts 5606c1fd5d Better dockerRunArgs handling, ensure slug is lowercase 4 år sedan
shlex.js 5606c1fd5d Better dockerRunArgs handling, ensure slug is lowercase 4 år sedan

README.md

node-shlex

Build Status

node-shlex is a Node.js module for quoting and parsing shell commands.

The API was inspired by the shlex module from the Python Standard Library. However, the Python implementation is fairly complex, and supports a confusing matrix of modes that is not replicated here. node-shlex always operates in what the Python module calls "POSIX mode."

As of version 2.0.0, Bash's ANSI C strings ($'x') and locale-specific translation strings ($"x") are supported. This diverges from the Python shlex behavior but makes parsing more accurate.

Note that node-shlex does not attempt to split on or otherwise parse operators (such as 2>/dev/null), and it does not perform variable interpolation.

Usage

shlex.quote()

var quote = require("shlex").quote
quote("abc")      // returns: abc
quote("abc def")  // returns: 'abc def'
quote("can't")    // returns: 'can'"'"'t'

shlex.split()

var split = require("shlex").split
split('ls -al /')  // returns: [ 'ls', '-al', '/' ]
split('rm -f "/Volumes/Macintosh HD"')  // returns [ 'rm', '-f', '/Volumes/Macintosh HD' ]