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/local/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
的末尾。