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

Tua*_*uan 6 environment-variables

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

export PATH=/opt/devel/tools/apache-maven-3.3.3/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

然后在终端上,我运行

source .bash_profile
Run Code Online (Sandbox Code Playgroud)

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

The program 'mvn' can be found in the following packages:
 * maven
 * maven2
Try: sudo apt-get install <selected package>
Run Code Online (Sandbox Code Playgroud)

你能告诉我我缺少什么吗?任何帮助都是合适的!

编辑 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
Run Code Online (Sandbox Code Playgroud)

May*_*hux 7

首先请注意,向 envs 添加 envs.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
Run Code Online (Sandbox Code Playgroud)

然后来源:

source .bashrc
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请阅读

如果您希望在 .bash_profile 中使用您的变量,您也可以使用此技巧。添加所有变量,.bashrc然后从.bash_profile. 将此添加到您的bash_profile

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)

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