【发布时间】:2019-02-06 12:30:58
【问题描述】:
我正在尝试使用 exec 在节点中创建一个单行器。我们的想法是创建一个名为 admin 的文件夹,然后将文件解压缩到其中,因此:
mkdir admin
tar xvfz release.tar.gz -C admin/
问题是,有时候 admin 存在(没关系,我想覆盖它的内容),使用 exec 会触发错误:
exec('mkdir admin && tar xvfz release.tar.gz -C admin/', (err, stdout, stderr) => {
if(err) { //mkdir fails when the folder exist }
});
如果 mkdir 失败,有没有办法优雅地继续?理想情况下,我想像 rm -rf admin/ 这样清理 admin 的内容,以便新的 untar 重新启动,但话又说回来,该命令将失败。
PS:我知道我可以在午餐执行之前与 FS 检查文件夹,但我对多合一执行解决方案感兴趣。 (如果可能)
编辑:How to mkdir only if a dir does not already exist? 的问题类似,但它是关于 mkdir 单独的具体使用,而是关于连接和错误传播。
【问题讨论】:
-
@GhostCat 请检查我的编辑:)
标签: node.js