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 = ;var args = 'curl' '-v' '-H' 'Location;' '-H' "User-Agent: FooBar's so-called \"Browser\"" 'http://www.daveeddy.com/?name=dave&age=24';var escaped = ;console;
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 = ;var args = 'hello!' 'how are you doing $USER' '"double"' "'single'";var escaped = 'echo ' + shellescape;console;
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