【问题标题】:How can the same move command behave differently depending on the context?相同的移动命令如何根据上下文表现不同?
【发布时间】:2016-10-19 13:11:30
【问题描述】:

这真的应该是微不足道的,我有一个脚本可以编译一个应用程序,然后将它捆绑到一个 dmg 中。

步骤如下:

  1. make
  2. mv app.app/ installer/artifacts/
  3. createDMG

问题是它在 CI 系统中运行,但由于在工件文件夹中找不到 app.app 而失败。事实上,如果我查看这个文件夹中的内容,我只能看到一个 Content 文件夹,它应该是 app.app 的子文件夹。现在我不认为移动 app.pp 文件夹的命令是错误的,因为当我运行所有这 3 个步骤时,它工作得很好......

我现在有点困惑,2个移动命令怎么可能有2个不同的行为?

【问题讨论】:

    标签: bash continuous-integration gitlab-ci mv


    【解决方案1】:

    如果文件夹 installer/artifacts/ 不存在,move 会将 app.app/ 重命名为 installer/artifacts/

    您可以改为执行以下操作:

    make
    mkdir -p installer/artifacts/
    mv app.app installer/artifacts/
    createDMG
    

    【讨论】:

    • 这实际上是个好点...一切都应该在 git 中,但由于文件夹是空的,因此在拉取期间不会创建它...然后当它失败时,我去检查它自从 app.app 被重命名以来就存在了......我会试一试,但几乎可以肯定你是对的!
    猜你喜欢
    • 2013-11-11
    • 1970-01-01
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 2016-10-19
    • 2015-07-20
    • 2017-06-07
    相关资源
    最近更新 更多