source命令可使环境变量在当前终端立即生效,需根据修改文件类型执行对应命令:改/etc/profile则运行source /etc/profile,改~/.bashrc则运行source ~/.bashrc,改~/.bash_profile则运行source ~/.bash_profile;注意空格与路径正确性,且仅对当前shell有效。

修改环境变量后,不会自动应用到当前终端,必须主动触发重载。是否“立即生效”,取决于你改的是哪个文件、改给谁用,以及你用什么方式加载。
对当前终端立即生效
这是最常用也最直接的方式:用 source 命令重新读取配置文件。
- 如果改的是
/etc/profile(系统级):运行source /etc/profile - 如果改的是
~/.bashrc(用户级):运行source ~/.bashrc - 如果改的是
~/.bash_profile:运行source ~/.bash_profile - 注意:
source和文件路径之间要有空格;不要写成source./bashrc或漏掉点号
图形界面终端可能需要额外操作
GNOME Terminal、Konsole 等图形终端常在启动时缓存环境,仅 source 可能不生效。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 关闭当前终端窗口,再新开一个
- 或者退出当前桌面会话,重新登录
- 不建议重启整个系统——没必要
验证是否真生效了
别只信“执行了 source”,要亲眼确认:
- 查变量值:
echo $PATH或echo $JAVA_HOME - 查命令位置:
which java或which your-command - 看完整环境:
env | grep YOUR_VAR
为什么有些修改 source 后还是不生效?
常见原因不是命令没用,而是配置本身有问题:
- 语法错误:漏
export、等号前后有空格、引号不闭合 - PATH 覆盖:写了
export PATH="/new/path"而不是export PATH="/new/path:$PATH",导致系统命令找不到了 - 文件加载顺序被覆盖:比如
/etc/profile.d/*.sh里有同名变量,且执行晚于你的修改,就会覆盖你写的 - Shell 类型不匹配:用了
zsh却去改.bashrc,它根本不会读这个文件

















