У меня есть объект js, и я записываю его содержимое в файлы с помощью цикла и меняя его разрешение.
for (var i = inputs.length - 1; i >= 0; i--) {
fs.writeFileSync(
Execute.path +
Execute.folder +
"/inputFile"+i,
inputs[i],
'utf-8'
)
console.info("Input file was saved!"+i);
fs.chmodSync(
Execute.path +
Execute.folder +
"/inputFile"+i,
0777
);
}
Я получил желаемое разрешение, но он добавляет \ n в конец файла, например, 55 \ n и т. д., но если я удалю chmod, его штраф с 55, но разрешения нежелательны.
Я хочу выполнить этот файл с помощью файла exec ('sh script.sh).
без sh он все еще говорит, что в разрешении отказано
Итак, очевидный вопрос: каковы разрешения для каждого inode в этом пути к файлу? Вы проверили, что при запуске вашего скрипта у него вообще есть права chmod? Консоль регистрирует значения Execute.path и Execute.folder и проверяет, имеет ли ваш сценарий права на расширение режима. 777 - это безумие, поэтому вполне возможно, что вы настроили свой компьютер так, чтобы это не разрешалось, за исключением случаев, когда его запускают суперпользователи.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Кешируйте это местоположение файла, так как вы используете его более одного раза. Тем не менее, это сценарий узла, зачем вам выполнять его с помощью
sh? Почему бы просто не запустить его напрямую?