GitHub Actions工作流无法读取工件内容的问题求助
问题分析与解决
错误根源
你遇到的cat: 113: No such file or directory报错,是因为读取步骤里多做了一次无意义的cat操作:
echo "pr_number=$(cat $PR_NUMBER)" >> $GITHUB_OUTPUT
这里的$PR_NUMBER已经是number.txt文件里的内容(比如日志里的113),你再用cat $PR_NUMBER相当于尝试读取名为113的文件,而这个文件根本不存在,所以触发报错。
修正后的读取步骤
直接将文件内容赋值到输出变量即可,不需要二次cat:
- name: Read number id: read-number shell: bash run: | PR_NUMBER=$(cat ${{ matrix.app }}/number.txt) echo "PR_NUMBER=$PR_NUMBER" echo "pr_number=$PR_NUMBER" >> $GITHUB_OUTPUT
后续步骤使用变量
在同一个工作流的后续步骤中,通过steps.read-number.outputs.pr_number调用这个变量即可,示例:
- name: Use PR number run: | echo "当前PR编号是 ${{ steps.read-number.outputs.pr_number }}"
额外注意事项
- 如果
number.txt里的内容带有多余换行或空格,可以用xargs去除:PR_NUMBER=$(cat ${{ matrix.app }}/number.txt | xargs) - 你已经通过
ls验证了文件路径正确,这部分无需调整。
内容的提问来源于stack exchange,提问作者researcher9
相关产品推荐
相关产品推荐

