在 Ubuntu 环境中配置环境变量有多种方式,取决于作用范围(当前用户 / 所有用户)和生效时间(临时 / 永久)。下面按常见场景说明。
export VAR_NAME=value
示例:
export PATH=$PATH:/opt/myapp/bin
✅ 立即生效
❌ 关闭终端后失效
~/.bashrc适用于 bash 用户(Ubuntu 默认)
nano ~/.bashrc
在文件末尾添加:
export PATH=$PATH:/opt/myapp/bin
export MY_ENV=production
使配置生效:
source ~/.bashrc
~/.profile 或 ~/.bash_profile适用于登录 shell
nano ~/.profile
添加:
export PATH=$PATH:/opt/myapp/bin
生效:
source ~/.profile
/etc/profile对所有用户、登录 shell 生效
sudo nano /etc/profile
添加:
export PATH=$PATH:/opt/myapp/bin
生效:
source /etc/profile
/etc/profile.d/ 下新建脚本(推荐)sudo nano /etc/profile.d/myenv.sh
内容:
#!/bin/bash
export PATH=$PATH:/opt/myapp/bin
export APP_HOME=/opt/myapp
赋予执行权限:
sudo chmod +x /etc/profile.d/myenv.sh
✅ 系统启动或新登录时自动加载
如果是服务程序读取环境变量:
sudo nano /etc/environment
内容(不能写 export):
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/myapp/bin"
MY_ENV=production
重启或重新登录后生效。
⚠️ 该文件不是 shell 脚本,不支持变量拼接。
echo $VAR_NAME
env
printenv
PATH 不要覆盖,要用 :$PATHsource~/.zshrc)echo $SHELL
如果你有具体使用场景(如 Python / Java / Docker / systemd / 服务器部署),可以告诉我,我可以给你更精准的配置示例。