UNPKG

@feflow/cli

Version:
29 lines 1.04 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.escape = void 0; var os_1 = __importDefault(require("os")); var OS_WIN = 'win32'; // 对命令字符串进行shell转义 function escape(arg) { if (arg === void 0) { arg = ''; } // windows保持原样 if (os_1.default.platform() === OS_WIN) { return arg; } var newArg = arg; if (newArg.startsWith('\'') && newArg.endsWith('\'')) { newArg = newArg.substring(1, newArg.length - 1); } if (/[^A-Za-z0-9_/:=-]/.test(newArg)) { newArg = "'".concat(newArg.replace(/'/g, '\'\\\'\''), "'"); newArg = newArg .replace(/^(?:'')+/g, '') // 消除重复的单引号 .replace(/\\'''/g, '\\\''); // 如果有两个转义单引号,则删除非转义单引号 } return newArg; } exports.escape = escape; //# sourceMappingURL=args.js.map