JAVA_HOME : .bashrc 或 .profile

JAVA_HOME : .bashrc 或 .profile

我需要设置一些变量,例如JAVA_HOME并将它们添加到小路我能以某种方式定义它们吗。轮廓,并让他们进入.bashrc?或者将它们添加到第三个文件中,并在.bashrc。轮廓

答案1

man bash

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

Bash 尝试确定何时将其标准输入连接到网络连接来运行,例如由远程 shell 守护程序(通常是 rshd)或安全 shell 守护程序 sshd 执行时。如果 bash 确定它以这种方式运行,它会从 ~/.bashrc 和 ~/.bashrc 读取并执行命令(如果这些文件存在且可读)。如果以 sh 形式调用,它不会执行此操作。可以使用 --norc 选项来禁止此行为,可以使用 --rcfile 选项来强制读取另一个文件,但 rshd 通常不会使用这些选项来调用 shell 或允许指定它们。

换句话说,当您启动时,~/.profile~/.bashrc通常都会被读取bash,因此您可以将其放入其中任意一个。

您还可以使用任一文件中的 来加载定义所有 Javan 变量的source luke文件。请参阅或了解详细信息。lukehelp .help source

答案2

首先,您永远不会将 JAVA_HOME 添加到您的 PATH 中。它们作为环境变量有不同的用途。第一个,设置您的 java 二进制文件的安装位置,以便其他基于 java 的程序可以知道。第二个,是 bash 查找您在终端中输入的命令的一组位置,例如lscd等等。

其次,这两个文件都可以工作,但在 .bashrc 中设置变量时必须小心,因为您可能会覆盖已在其他文件中配置的变量,如 PATH。最安全的方法是在路径末尾添加“:$PATH”。它将类似于以下内容(将 Java 二进制文件添加到您的 PATH 以便能够调用命令,例如javac):

export PATH="/usr/java/jdk1.8.0_121/bin:$PATH"

要设置 JAVA_PATH,最安全(和自动……rsrs)的方法是在 .bashrc 末尾添加以下代码:

export JAVA_HOME=$(update-alternatives --query javac | sed -n -e 's/Best: *\(.*\)\/bin\/javac/\1/p')

完成这些操作后,您将需要执行exec bash,或者关闭并重新打开终端窗口。要检查变量是否已设置,请在终端上运行:

echo $JAVA_HOME
echo $PATH

您应该能够看到变量里面的值。

更新:请记住,所有这些文件(如 .bashrc)都位于您的主目录中。只需/home/<your name>键入类似 或 而cd无需任何其他参数即可。还要记住,以“点”开头的文件.不是仅ls在终端上键入即可看到的。如果您想查看这些文件,您必须ls -a

答案3

您可以完全按照您提到的操作。当您远程 ssh 进入 b 终端时.bash_配置文件将被引用,当你创建一个新的 xterm 时.bashrc将被引用。如果你将环境变量信息放入另一个文件中会更好。轮廓并且从两者.bash_配置文件.bashrc来源。轮廓

.~/.profile 文件

注意采购。轮廓.bashrc可能会造成无限循环,因为默认。轮廓在 Ubuntu 源中.bashrc。 看此回复关于采购的危险。

相关内容