重启后,添加到 .bash_profile 的 $PATH 不起作用

重启后,添加到 .bash_profile 的 $PATH 不起作用

我是 Ubuntu 新手!
我正在尝试通过将 Maven 目录添加到 来手动设置 Maven $PATH。我.bash_profile在目录中创建了文件home。该文件包含以下内容:

export PATH=/opt/devel/tools/apache-maven-3.3.3/bin:$PATH

然后在终端上,运行

source .bash_profile

一切正常,运行后我可以看到版本mvn -version。但重新启动笔记本电脑后,运行mvn出现以下错误:

The program 'mvn' can be found in the following packages:
 * maven
 * maven2
Try: sudo apt-get install <selected package>

你能告诉我我遗漏了什么吗?任何帮助都是合适的!

编辑1
的输出echo $PATH为:

tuandang@Inspiron-N4030:~$ echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

答案1

首先请注意,将环境添加到.bash_profile不是其他答案中指出的临时方法,但您的问题是在不合适的位置添加,因为.bash_profile当您从控制台登录时会调用,我不认为您遇到这种情况。请阅读其余内容并找到您的解决方案:

引自http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html

当您通过控制台登录(输入用户名和密码)时,无论是坐在机器上,还是通过 ssh 远程登录:在初始命令提示符之前执行 .bash_profile 来配置您的 shell。

但是,如果您已经登录到您的计算机并在 Gnome 或 KDE 内打开一个新的终端窗口(xterm),那么 .bashrc 会在窗口命令提示符之前执行。当您通过在终端中键入 /bin/bash 来启动新的 bash 实例时,也会运行 .bashrc。

因此,我假设您已登录并从内部使用终端,那么您应该使用 .bashrc。运行此命令:

echo 'export PATH=/opt/devel/tools/apache-maven-3.3.3/bin:$PATH' >>~/.bashrc

然后获取它:

source .bashrc

欲了解更多信息,请阅读

如果你希望变量在 .bash_profile 中使用,也可以使用这个技巧。将所有变量添加到 中,.bashrc然后从 中获取.bash_profile。将其添加到你的bash_profile

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

现在,当您从控制台或 GUI 登录到系统时,您都会获得您的环境。

答案2

您可以将 PATH 添加到 ~/.profile

~./bash_profile 不会影响您登录系统后启动的终端仿真器(如 gnome-terminal)。

作为一个选项,您可以在 /etc/environment 中全局设置 PATH。

答案3

Maythux 是正确的,该变量被声明为本地变量,但是为了使系统将其视为全局变量,必须将其导出。

if [ -f ~/.bashrc ]; then 
    . ~/.bashrc 
fi 

也可以在 .bash_profile 中用于获取 $HOME/.bashrc

相关内容