在Docker中为持久variables“源”一个“sh”文件

这里有一个类似的问题,但它不能解决我的问题,这不完全相同的问题。

我正在尝试编写一个Dockerfile来创build一个容器,其中已经安装了可用的开源Dreamcast SDK。 SDK提供了一个.sh文件,该文件设置了大量的环境variables,但也包含其他更多环境variables的.sh文件。

我需要这些环境variables来:

  • 在整个容器中为所有用户在全球范围内提供
  • 可用于Dockerfile中的后续运行命令

我已经尝试追加一个source ...行到/etc/environment~/.bashrc但似乎都没有工作。 我怎样才能使用这些文件来设置全球环境?

谢谢!

更新(更多信息)

所以,这是我试图做的:

RUN cp /opt/toolchains/dc/kos/doc/environ.sh.sample /etc/profile.d/dreamcast.sh RUN echo -e "\nsource /etc/profile.d/dreamcast.sh" >> /etc/bash.bashrc RUN echo $KOS_BASE

所以我已经将示例环境文件复制到/etc/profile.d/ (该位置并不真正相关),然后更改bash.bashrc来调用环境文件,然后回显确认环境variables生效(他们没有)。

我无法使用/ etc / environment,因为.sh文件中有条件逻辑来确定为环境variables设置哪些值。 我也试过〜/ root / .bashrc。