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

GitHub Actions中bash -l {0}的-l和{0}参数作用是什么?

GitHub Actions 中 bash -l {0} 参数含义说明

{0} 占位符作用

这是GitHub Actions Shell配置模板的固定占位符:
GitHub执行run步骤时,会先将你写的命令内容写入一个临时生成的脚本文件,再把这个临时脚本的绝对路径替换到{0}的位置后执行最终命令。
如果Shell配置中没有显式写{0},GitHub会默认把临时脚本路径拼接到Shell命令的末尾,所以shell: bash等价于shell: bash {0},这也是CML仅用shell: bash就能正常运行的原因。

-l 参数作用

-l是Bash原生的可选参数,是--login的缩写,作用是让Bash以登录Shell模式启动:

  • 登录模式启动的Bash会主动加载用户全局环境配置文件(包括~/.bash_profile、~/.bashrc、~/.profile等)
  • 普通非登录模式的Bash默认只会加载BASH_ENV指定的配置,不会读取用户目录下的全局配置文件。

为什么setup-miniconda需要用bash -l {0}

setup-miniconda Action安装完成后,会将conda的初始化脚本写入当前用户的Shell配置文件中,只有以登录模式启动的Shell才能正确加载conda相关的环境变量,让conda命令、conda activate等操作可以正常调用。如果不添加-l参数,run步骤中直接调用conda会提示命令不存在,也无法切换conda虚拟环境。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:09:03