| 123456789101112131415161718192021222324252627282930 | 
							- 'use strict';
 
- function escapeArgument(arg, quote) {
 
-     // Convert to string
 
-     arg = '' + arg;
 
-     // If we are not going to quote the argument,
 
-     // escape shell metacharacters, including double and single quotes:
 
-     if (!quote) {
 
-         arg = arg.replace(/([()%!^<>&|;,"'\s])/g, '^$1');
 
-     } else {
 
-         // Sequence of backslashes followed by a double quote:
 
-         // double up all the backslashes and escape the double quote
 
-         arg = arg.replace(/(\\*)"/g, '$1$1\\"');
 
-         // Sequence of backslashes followed by the end of the string
 
-         // (which will become a double quote later):
 
-         // double up all the backslashes
 
-         arg = arg.replace(/(\\*)$/, '$1$1');
 
-         // All other backslashes occur literally
 
-         // Quote the whole thing:
 
-         arg = '"' + arg + '"';
 
-     }
 
-     return arg;
 
- }
 
- module.exports = escapeArgument;
 
 
  |