直接用 export path=$path:/new/bin 可追加路径而不覆盖原有值,因 $path 引用当前值后拼接;临时生效在终端执行该命令,永久生效则写入 ~/.bashrc 或 /etc/profile.d/ 等配置文件。

直接用 export PATH=$PATH:/new/bin 就行,关键是要保留 $PATH 并用英文冒号 : 连接。
为什么这样写不会覆盖原有路径
因为 $PATH 是对当前 PATH 值的引用,相当于把旧值“抄下来”,再拼上新路径。系统执行时先展开变量,比如原 PATH 是 /usr/bin:/bin,那命令实际等价于:
export PATH=/usr/bin:/bin:/new/bin
这就实现了追加,不是替换。
临时追加(当前终端有效)
在终端里直接运行:
- export PATH=$PATH:/new/bin(加到末尾)
- export PATH=/new/bin:$PATH(加到开头,优先级更高)
验证是否生效:echo $PATH,看输出里有没有 /new/bin;再试运行该目录下的命令,比如 ls /new/bin/ 看是否存在可执行文件。
永久追加(推荐用户级)
对当前用户长期生效,不需 root 权限,适合日常开发运维:
- 编辑 ~/.bashrc(bash 用户)或 ~/.zshrc(zsh 用户)
- 在文件末尾添加一行:export PATH=$PATH:/new/bin
- 立即生效:source ~/.bashrc(或对应配置文件)
注意:图形界面打开的终端默认读 .bashrc,SSH 登录可能读 .bash_profile,但多数桌面环境已统一处理,优先改 .bashrc 即可。
系统级追加(所有用户)
需要管理员权限,适用于多用户服务器或统一部署:
- 方法一:写入 /etc/profile.d/mytools.sh(推荐)
sudo nano /etc/profile.d/mytools.sh
写入:export PATH=$PATH:/new/bin,保存后加执行权限:sudo chmod +x /etc/profile.d/mytools.sh - 方法二:修改 /etc/environment(纯路径列表,不支持变量)
sudo nano /etc/environment
改成类似:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/new/bin"(注意等号两边不能有空格)
改完系统级配置后,新登录的用户自动生效;已登录用户可执行 source /etc/profile 或重新登录。











