Эта версия работает лучше в Windows, чем верхний ответ, потому что она понимает как /
, так и path.sep
, так что передние косые черты работают на Windows по своему усмотрению. Поддерживает абсолютные и относительные пути (относительно process.cwd
).
/**
* Creates a folder and if necessary, parent folders also. Returns true
* if any folders were created. Understands both '/' and path.sep as
* path separators. Doesn't try to create folders that already exist,
* which could cause a permissions error. Gracefully handles the race
* condition if two processes are creating a folder. Throws on error.
* @param targetDir Name of folder to create
*/
export function mkdirSyncRecursive(targetDir) {
if (!fs.existsSync(targetDir)) {
for (var i = targetDir.length-2; i >= 0; i--) {
if (targetDir.charAt(i) == '/' || targetDir.charAt(i) == path.sep) {
mkdirSyncRecursive(targetDir.slice(0, i));
break;
}
}
try {
fs.mkdirSync(targetDir);
return true;
} catch (err) {
if (err.code !== 'EEXIST') throw err;
}
}
return false;
}
Вы пытаетесь отправить данные www-form-urlencoded в конечную точку, ожидающую JSON.
Кроме того, ваш код работает нормально.
Исправлено заменой двойных кавычек в переменной одиночными кавычками. Например:
ESCAPE=$(echo $OUTPUT | sed "s/\"/'/g" )
ESCAPE=$(echo $OUTPUT | sed "s/\"/'/g" )
Связано ли это с тем, что вы говорите? Мне кажется, что двойные кавычки вызывали специальные символы для отправки за пределами строки. – user2303670 13 July 2018 в 22:31