Files
ssh-updater/node_modules/shell-escape/shell-escape.js
T
dinlo e0a986eb30 Initial commit
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 18:45:31 +08:00

18 lines
469 B
JavaScript

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(' ');
}