为什么我的用户看不到环境变量?

为什么我的用户看不到环境变量?

我在 /etc/profile.d/vars.sh 下有一个包含一些环境变量的 .sh 文件。其内容如下:

export PORT=8080

这是在 AWS EC2 上运行的 Ubuntu 14.04。当我使用默认用户 (ubuntu) 通过 SSH 登录并运行时,echo $PORT我得到了8080返回。

但是如果我:

sudo su
su ubuntu
echo $PORT

我什么也没得到。这是为什么?如何为所有用户(或专门为 ubuntu)设置环境变量,以便他们即使在非交互式 shell 会话中也能看到它?

谢谢!

答案1

使用 su 上的 -l 选项来获取完整的用户登录:

su -l ubuntu

这应该会给你你所期望的 ubuntu 环境。

相关内容