Maven 2神秘地出现在$ PATH中

我正在升级到maven 3但是遇到了一个小障碍,因为maven 2神秘地出现在我的PATH变量中。 我检查了~/.bashrc~/.profile/etc/environment /etc/bash.bashrc/etc/environment/etc/profile ,无法在任何地方找到它。 我错过了什么?

来自man bash

当bash作为交互式登录shell或作为具有–login选项的非交互式shell调用时,它首先从文件/ etc / profile中读取并执行命令(如果该文件存在)。 在读取该文件之后,它按顺序查找〜/ .bash_profile,〜/ .bash_login和〜/ .profile,并从存在且可读的第一个读取和执行命令。 启动shell以禁止此行为时,可以使用–noprofile选项。

当启动不是登录shell的交互式shell时,如果存在这些文件,bash将从/etc/bash.bashrc和〜/ .bashrc读取并执行命令。 使用–norc选项可以禁止这一点。 –rcfile文件选项将强制bash从文件中读取和执行命令,而不是/etc/bash.bashrc和〜/ .bashrc。

当您登录到交互式非登录shell时,查找PATH分配的文件是/etc/bash.bashrc ~/.bashrc以及/etc/environment作为声明系统范围环境变量的默认位置。 您还应该在登录交互式登录shell时检查源文件,以确保没有引用或指针来更改其中的PATH

如果您没有找到任何对具有maven-2 PATH引用,那么其中一个文件中必定存在导致PATH被更改的内容,即其中一个文件中的某些内容会触发其他正在更改PATH 。 没有检查文件的内容就很难分辨。

如果要从PATH删除maven-2

 /home/elpinguino/scala-2.10.5/bin:/home/elpinguino/bin:/usr/local/sbin :/usr/loca‌​l/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games :/opt/apache-maven‌​-2.2.1/bin:/bin:/bin:/opt/apache-maven-3.3.3/bin 

您可以删除目录/opt/apache-maven‌​-2.2.1以便PATH找不到可执行文件或声明PATH环境变量再次丢弃/opt/apache-maven‌​-2.2.1/bin目录并放置它在~/.bashrc的末尾。