在JS中写入文件后,我需要设置自定义权限并从父目录继承所有权。我习惯于shelljs
运行命令。
我正在运行以下命令以获得父目录的所有者和组:
const ownerGroup = shelljs.exec('ls -la ../ | grep -e "`basename $(pwd)`$" | awk \'{print $3, $4}\'').split(' ');
设置权限和所有权的命令如下:
const owner = ownerGroup[0];
const group = ownerGroup[1];
shelljs.exec(`sudo chown ${owner}:${group} ${process.env.CONFIG_FILE}`);
shelljs.exec(`sudo chmod 660 ${process.env.CONFIG_FILE}`);
文件路径位于process.env.CONFIG_FILE
中。我遇到chown
的问题,因为看不到文件路径。该命令的结构正确,但是路径转移到了新行。
COMMAND -> sudo chown yury.stanev:yury.stanev
/home/yury.stanev/menlolab/runner/config.json
chown: missing operand after ‘yury.stanev:yury.stanev’
Try 'chown --help' for more information.
答案 0 :(得分:0)
通过不使用cmd替换任何换行符来解决。
const cmd = `sudo chown ${owner}:${group} ${process.env.CONFIG_FILE}`.replace('\n', '');