【问题标题】:Exclude flag in zip not excluding directory as expectedzip 中的排除标志未按预期排除目录
【发布时间】:2020-01-07 20:32:05
【问题描述】:

我正在尝试使用以下命令将 当前 目录中的每个文件压缩到 deploy.zip

zip -r deploy.zip -x "**/node_modules/**"

此命令不起作用,但仍会压缩所有 node_modules 及其后代文件夹和文件。 这个命令基本上是在 GitHub Action 面板上运行的。

这里有什么问题?

【问题讨论】:

  • @Inian node_modules 在我当前的目录中。

标签: linux zip


【解决方案1】:

您的排除 glob 表达式似乎不太正确。表达式**/node_modules/** 从存在字符串/node_modules/ 的搜索路径中查找绝对文件名。但是从当前路径运行zip 不会包含node_modules 下任何文件/目录名称的前导/。对于排除路径定义,我建议将其设置为 '*node_modules*''./node_modules/*''node_modules/*'

另请注意,在您的 glob 模式中使用 ** 与使用简单的通配符扩展为 * 并不相同。当启用--wild-stop-dirs 选项时,前者在zip 中具有特殊含义。见zip(1) - Linux man page

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    相关资源
    最近更新 更多