shell - 在引用另一个时设置环境变量
问题描述
我正在尝试在 docker 容器中设置一个环境变量并让它持续存在。
跑步ENV PATH=${PATH}:${HOME}/my_dir
结果:/my_dir
被附加到路径中,这不是预期的。
但是PATH=${PATH}:/home/my_user/my_dir
正确附加:/home/my_user/my_dir
到路径。
必须更改哪些内容以避免键入绝对路径?
解决方案
${HOME}
是由 shell 设置的,当你用 构建 docker 镜像时ENV
,那里没有 shell,所以这个值肯定是空的。
接下来试试:
ENV PATH=${PATH}:~/my_dir
~
将被解释为HOME
容器运行时。
推荐阅读
- jdbc - 尝试在事务之外执行读取查询时检测到通信故障。尝试重试查询
- sql - 以更有效的方式表达 oracle 查询
- python - 在尝试将 Python dict 附加到 JSON 时,它只写入一次
- python - 如何将列表元素加入特定的其他元素
- javascript - 以设定的时间间隔跟踪 URL
- c - 如何在C中附加两个字节
- talend - 如何使用 tRunJob 强制子作业使用与父作业相同的上下文?
- twitter-bootstrap-3 - 数据属性内的 Twig 变量
- javascript - 在 Rails 中切换管理员的复选框
- python - 如何从 __get__ 中获取描述符的属性名称?