shell: /bin/bash -e {0} 在 github Action Worker 的 bash shell 输出中意味着什么?

jar*_*jar 5 git bash shell github github-actions

因为当没有要提交的更改时 git 会使用非零代码提交退出,这会导致 github 操作失败。为了克服这个问题,我尝试在提交之前检查是否有任何更改,如下所示 -

if git diff-index --quiet HEAD --; then
    echo "changes_exist=true" >> $GITHUB_ENV
else
    echo "changes_exist=false" >> $GITHUB_ENV
fi
Run Code Online (Sandbox Code Playgroud)

然后 GitHub 在其下方向我展示了这一点 - shell: /bin/bash -e {0}

谷歌搜索似乎没有产生任何结果。知道这意味着什么吗?

跑步者的精确输出 -

Run if git diff-index --quiet HEAD --; then
  if git diff-index --quiet HEAD --; then
      echo "changes_exist=true" >> $GITHUB_ENV
  else
      echo "changes_exist=false" >> $GITHUB_ENV
  fi
  shell: /bin/bash -e {0}
  env:
    pythonLocation: /opt/hostedtoolcache/Python/3.9.1/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.9.1/x64/lib
Run Code Online (Sandbox Code Playgroud)

riQ*_*iQQ 4

{0}替换为run工作流程定义中元素的值

https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell

如果您使用例如,您还可以更改错误处理

  run: echo "Test"
  shell: bash {0}
Run Code Online (Sandbox Code Playgroud)

这将导致调用bash echo "Test"而不是bash -e echo "Test".

https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference