JSPM

any-shell-escape

0.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 146167
  • Score
    100M100P100Q170867F
  • License MIT

Escape and stringify an array of arguments to be executed on the shell

Package Exports

  • any-shell-escape

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (any-shell-escape) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

shell-escape

Escape and stringify an array of arguments to be executed on the shell

Install

npm install any-shell-escape

Example

simple

var shellescape = require('any-shell-escape');

var args = ['curl', '-v', '-H', 'Location;', '-H', "User-Agent: FooBar's so-called \"Browser\"", 'http://www.daveeddy.com/?name=dave&age=24'];

var escaped = shellescape(args);
console.log(escaped);

yields (on POSIX shells):

curl -v -H 'Location;' -H 'User-Agent: FoorBar'"'"'s so-called "Browser"' 'http://www.daveeddy.com/?name=dave&age=24'

or (on Windows):

curl -v -H "Location;" -H "User-Agent: FooBar's so-called ""Browser""" "http://www.daveeddy.com/?name=dave&age=24"

Which is suitable for being executed by the shell.

Advanced Usage:

var shellescape = require('shell-escape');

var args = ['hello!', 'how are you doing $USER', '"double"', "'single'"];

var escaped = 'echo ' + shellescape.msg(args);
console.log(escaped);

yields (on POSIX shells):

echo 'hello!' 'how are you doing $USER' '"double"' "'"'single'"'"

or (on Windows, which doesn't support escaping echoed messages):

echo hello! how are you doing $USER "double" 'single'

and when run on the shell:

$ echo 'hello!' 'how are you doing $USER' '"double"' "'"'single'"'"
hello! how are you doing $USER "double" 'single'

License

MIT