如何将ls命令输出打印到GitHub Actions控制台
问题原因
run字段的多行脚本语法写错了。
你在|标记的多行shell内容里,给每行命令前面加了YAML列表用的- 前缀,这部分内容会被直接传给shell解析:shell会把- ls识别成调用名为-ls的程序,系统里根本没有这个命令,所以这两行实际都执行失败,既不会输出ls结果,后面的node脚本也跑不起来。
修复方案
删掉run块里每行命令前的- ,正确配置如下:
name: Continuous integration pipeline on: push jobs: setup: name: Run Tests runs-on: ubuntu-20.04 steps: - name: Checkout Repository uses: actions/checkout@v3 - name: Use Node.js 14 uses: actions/setup-node@v1 with: node-version: "14.x" - name: Main run: | ls node scripts/setup-npm-version.js
额外提示
默认执行actions/checkout后,工作目录会自动切换到仓库根路径,如果修改后ls输出的文件列表和预期不符,再手动加cd命令切换目录即可,示例:
- name: Main run: | ls cd 你的目标子目录 ls node scripts/setup-npm-version.js
内容的提问来源于stack exchange,提问作者user1283776
相关产品推荐
相关产品推荐

