module.exports = shellescape; // return a shell compatible format function shellescape(a) { var ret = []; a.forEach(function(s) { if (!/^[A-Za-z0-9_\/-]+$/.test(s)) { s = "'"+s.replace(/'/g,"'\\''")+"'"; s = s.replace(/^(?:'')+/g, '') // unduplicate single-quote at the beginning .replace(/\\'''/g, "\\'" ); // remove non-escaped single-quote if there are enclosed between 2 escaped } ret.push(s); }); return ret.join(' '); }