Files
ssh-updater/node_modules/shell-escape/shell-escape.js
T

18 lines
469 B
JavaScript
Raw Normal View History

2026-05-31 18:45:31 +08:00
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(' ');
}