临时设置环境变量无需修改配置文件,仅对当前终端会话生效,关闭终端后失效。常用命令如下:
export PATH=$PATH:/custom/path(将/custom/path替换为实际路径)。export MY_VAR=value(MY_VAR为变量名,value为变量值)。export PATH=$PATH:/home/user/scripts
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
验证:通过echo $PATH查看当前PATH是否包含新路径,或echo $MY_VAR查看变量值。
用户级环境变量对当前用户的所有终端会话生效,需修改用户主目录下的配置文件。
~/.bashrc文件(推荐,适用于Bash用户)~/.bashrc会在每次打开新的终端窗口时自动加载,适合需要频繁使用的变量。
nano ~/.bashrc(或使用vim、gedit等编辑器)。export PATH=$PATH:/custom/path(添加自定义路径)或export MY_VAR=value(设置其他变量)。Ctrl+O→Enter→Ctrl+X)。source ~/.bashrc(或. ~/.bashrc)。~/.profile文件(适用于登录Shell)~/.profile会在用户登录时加载(如SSH登录、图形界面登录),适合需要登录时生效的变量。
nano ~/.profile。~/.bashrc相同的变量设置。source ~/.profile使更改生效。注意:若~/.bash_profile存在,它可能会覆盖~/.profile的设置,建议优先使用~/.bashrc。
全局环境变量对系统中所有用户生效,需修改系统级配置文件。
/etc/environment文件(推荐,简单直观)/etc/environment是系统全局环境变量的配置文件,采用KEY=value的键值对格式,支持多变量定义。
sudo nano /etc/environment。PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/custom/path"
MY_VAR="global_value"
(注意:PATH变量需保留系统原有路径,用冒号:分隔新增路径)。/etc/profile或/etc/profile.d/目录下的脚本(适用于所有Shell)修改/etc/profile:
sudo nano /etc/profile。export命令(如export PATH=$PATH:/custom/path)。source /etc/profile使更改生效(对当前终端立即生效)。创建/etc/profile.d/下的脚本(更规范):
sudo nano /etc/profile.d/custom_env.sh。export PATH=$PATH:/custom/path。source /etc/profile.d/custom_env.sh使更改生效(对当前终端立即生效)。/etc/profile.d/下的脚本)。若需要为某个Systemd服务(如Nginx、MySQL)设置环境变量,可通过修改服务单元文件实现。
sudo nano /etc/systemd/system/service_name.service(如nginx.service)。[Service]部分添加Environment指令,例如:[Service]
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/custom/path"
Environment="MY_VAR=service_value"
sudo systemctl daemon-reload。sudo systemctl restart service_name(如sudo systemctl restart nginx)。验证:通过systemctl show service_name --property=Environment查看服务的环境变量设置。
无论使用哪种方法设置环境变量,均可通过以下命令验证:
echo $PATH(检查自定义路径是否包含在内)。echo $MY_VAR(替换为实际变量名)。systemctl show service_name --property=Environment。ls /custom/path),避免无效路径导致命令无法执行。/etc/environment、/etc/profile)需使用sudo提升权限,避免权限不足导致修改失败。~/.bashrc、~/.profile等文件中的变量设置需以export开头(如export PATH=$PATH:/custom/path),避免遗漏export导致变量无法导出。~/.bashrc、~/.profile):修改后运行source命令立即生效,或重新登录终端。/etc/environment、/etc/profile):修改后需重新登录或重启系统生效。