any-shell-escape

0.1.1 • Public • Published

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

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.1.181,704latest

Version History

VersionDownloads (Last 7 Days)Published
0.1.181,704
0.1.01

Package Sidebar

Install

npm i any-shell-escape

Weekly Downloads

81,705

Version

0.1.1

License

MIT

Last publish

Collaborators

  • boazy