【发布时间】:2019-10-04 16:16:26
【问题描述】:
如果您在 Linux 终端中运行此命令:
mkdir -p ./dist/{articles,scripts,stylesheets}
它将创建以下文件夹树(在当前目录中):
dist
|- articles
|- scripts
|- stylesheets
当我尝试使用 shelljs npm 包执行相同操作时会出现问题。
例如调用如下函数:
shell.mkdir("-p", "./dist/{articles,scripts,stylesheets}");
导致创建以下文件树:
dist
|- {articles,scripts,stylesheets}
换句话说,它是一个名为dist 的文件夹,其中包含一个名为{articles,scripts,stylesheets} 的子文件夹。
我试过转义花括号,像这样:
shell.mkdir("-p", "./dist/\{articles,scripts,stylesheets\}");
它不起作用,所以我加倍并逃脱了反斜杠:
shell.mkdir("-p", "./dist/\\{articles,scripts,stylesheets\\}");
这也不起作用,所以我再次加倍并在转义反斜杠之前添加了一个转义反斜杠:
shell.mkdir("-p", "./dist/\\\\{articles,scripts,stylesheets\\\\}");
这不起作用,但它确实创建了一个具有不同名称的文件夹:
\\{articles,scripts,stylesheets\\}
我该如何解决这个问题?
【问题讨论】:
-
你可以用 JavaScript 循环代替。
标签: javascript node.js bash ubuntu-18.04 shelljs