sh: 1: !: 在 GitHub Actions 中找不到

问题描述 投票:0回答:1

我的 Github Actions YAML 中有以下内容。当第一次检查评估为真时,它运行良好,

    - name: Check version is up to date
      run: sh -c "
        (git diff --quiet HEAD^ VERSION && git diff --quiet HEAD^ src/**) || \
          ! git diff --quiet HEAD^ src/VERSION
        "

但是当它评估为 false 时,后面的部分给了我

sh: 1:  !: not found

仅在 GitHub Actions 中。它在我的电脑上运行良好。我不明白这是怎么回事,因为我非常明确地提到了 shell。

github-actions
1个回答
0
投票

我认为这是一个格式错误/怪癖。如果我写的话

      run: |
        sh -c "
        (git diff --quiet HEAD^ VERSION && git diff --quiet HEAD^ src/**) || \
          ! git diff --quiet HEAD^ src/VERSION
        "

它有效。

© www.soinside.com 2019 - 2024. All rights reserved.