在 /etc/environment 设置变量没有效果

blu*_*ast 11 environment-variables ubuntu

我有以下内容/etc/environment

http_proxy=http://myproxy.net:12345
Run Code Online (Sandbox Code Playgroud)

重新启动机器后,我登录并检查变量:

root@d6c44fa03243:/# echo $http_proxy
(empty)
Run Code Online (Sandbox Code Playgroud)

为什么没有设置变量?

注意:我必须提到这是一个 docker 容器,尽管我不明白为什么它会有所作为。

编辑

有关系统的更多详细信息 ( Ubuntu 16.04.4 Xenial Xerus):

root@d6c44fa03243:/# uname -a
Linux d6c44fa03243 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

root@d6c44fa03243:/# cat /etc/issue
Ubuntu 16.04.4 LTS \n \l
Run Code Online (Sandbox Code Playgroud)

编辑2

根据Ubuntu 文档

/etc/环境

此文件专门用于系统范围的环境变量设置。它不是一个脚本文件,而是由赋值表达式组成,每行一个。

小智 0

配置/etc/profile~/.bashrc~/.bash_profile文件以在启动新 shell 时导出变量。

\n\n

/etc/profile适用于系统范围,其他适用于特定用户。

\n\n

只需在末尾添加如下行:

\n\n
export http_proxy=\xe2\x80\x9dhttp://myproxy.net:12345\xe2\x80\x9d\nexport ftp_proxy=\xe2\x80\x9dhttp://myproxy.net:12345\xe2\x80\x9d\nexport https_proxy=\xe2\x80\x9dhttp://myproxy.net:12345"\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,每次启动 shell 时,都会加载变量并且您可以使用它们。

\n