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

.readthedocs.yaml中cd命令返回0却未切换目录的原因咨询

问题原因与解答

为什么cd命令返回码为0但未切换目录?

这是因为Read the Docs构建系统中,commands列表里的每一条命令都是在独立的子Shell进程中执行的。

比如假设你的配置片段是:

commands:
  - cd docs
  - make html

cd docs会在单独的Shell进程里执行——这个进程内确实成功切换到了docs目录(所以返回码为0),但进程执行完毕就会退出,后续的make html会在新的Shell中启动,回到项目初始工作目录,因此看起来目录切换没生效。

是否属于预期行为?

是的,这是Read the Docs的设计逻辑:让每个命令独立运行,避免不同命令之间的环境变更(比如目录、环境变量)互相干扰,保证构建环境的一致性。

解决方法

如果需要在同一个目录下执行多条命令,把它们合并成一条,用&&或分号连接,确保在同一个Shell进程中运行:

commands:
  - cd docs && make html

内容的提问来源于stack exchange,提问作者Miro Iliaš

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:52:03