You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions触发bash脚本遇权限拒绝(退出码126)问题排查

解决GitHub Actions执行脚本权限拒绝问题

针对你遇到的Permission denied错误,给你几个可行的解决思路:

方法一:在工作流中直接添加权限赋予步骤

这是最稳妥的方案,不管本地权限设置如何,在GitHub Runner环境里直接给脚本加执行权限。修改你的myhook.yml,在Checkout code步骤之后、Run my script步骤之前新增一步:

- name: Add execute permission to script
  run: chmod +x script.sh

修改后的完整工作流:

name: Run My Script

on:
  workflow_dispatch:

jobs:
  run_script:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    
    - name: Add execute permission to script
      run: chmod +x script.sh
    
    - name: Run my script
      run: ./script.sh

方法二:修复Windows下Git的权限识别问题

Windows系统的Git默认关闭了文件权限检测(core.filemode设为false),导致你本地执行的chmod +x和git update-index --chmod=+x操作可能没被Git正确识别。按照以下步骤操作:

  1. 在本地仓库目录打开Git Bash,执行:
    git config core.filemode true
    
  2. 重新给脚本添加执行权限并提交:
    git update-index --chmod=+x script.sh
    git add script.sh
    git commit -m "Add execute permission to script.sh"
    git push
    

方法三:直接用shell解释器运行脚本

如果不想折腾权限,也可以跳过执行权限的要求,直接调用shell解释器来运行脚本,修改工作流中的Run my script步骤:

- name: Run my script
  run: sh script.sh

或者用bash:

- name: Run my script
  run: bash script.sh

这样就能绕过文件执行权限的限制,直接运行脚本内容。

内容的提问来源于stack exchange,提问作者jmt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 13:30:57