如何获取GitHub Actions实际执行的run命令以进行shellcheck检查?
如何获取GitHub Actions实际运行的Shell命令以用于ShellCheck
可行,有几种办法能拿到GitHub实际运行的命令:
从工作流日志提取
当GitHub Actions运行工作流时,每个run步骤的日志里都会显示展开所有表达式后的实际执行命令。比如你例子里的步骤,日志里会出现类似Run foo install bar="3.7" "matrix-value"的行,这就是GitHub实际执行的命令。如果要批量处理,可以用GitHub API拉取日志内容,再用脚本过滤出这些Run开头的行。用act本地模拟运行
用act工具(本地运行GitHub Actions的工具)可以模拟工作流执行,它会自动展开${{ ... }}表达式。你可以通过act --dryrun预览执行的命令,或者找到act生成的临时shell脚本(通常在~/.cache/act目录下),这些脚本里就是展开后的完整Shell命令,直接拿过来用shellcheck检查就行。自定义占位符替换脚本
要是不需要完全精准的实际值,只是想让shellcheck能解析语法,可以写个简单脚本,把所有${{ ... }}替换成合理的占位符,比如把${{ env.GDAL_VERSION }}换成"3.0",${{ matrix.baz }}换成"test"。虽然这不是GitHub实际运行的命令,但足够满足shellcheck的规范检查需求。
内容的提问来源于stack exchange,提问作者l0b0
相关产品推荐
相关产品推荐

