在 CentOS 7 问题中设置持久环境变量

Dmi*_*yko 20 centos environment-variables reboot

我一直在尝试设置将在重新启动时保存的环境变量,但没有成功。

当我以 root 或任何其他用户身份使用exportorsetenv命令设置变量时,它会保存在会话中,直到重新启动。重启后,变量丢失。

特别是,我需要设置$JAVA_HOME.

所以我喜欢这个

在此处输入图片说明

但没有任何工作正如我所指出的那样。

我究竟做错了什么?

Mel*_*lan 21

根据您的 shell,通常必须有一个.<shellnamehere>rc文件,您可以在其中存储您希望在注销和重新启动事件中持久化的这些变量。.bashrc如果您的外壳选择是bash

编辑:在终端中,运行命令

env | grep SHELL
Run Code Online (Sandbox Code Playgroud)

如果您看到SHELL=bash,请运行以下命令:

echo 'export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-2.b15.el7_2.x86_64"' >> $HOME/.bashrc
Run Code Online (Sandbox Code Playgroud)

最后一个命令有一些假设。如果您的 SHELL 没有出现,请bash返回这里并报告您得到的结果。在注销并重新登录后,如果您没有看到已设置的变量,请再次返回并报告您看到的错误消息(如果有)。


Tag*_*int 21

如果是在系统范围内设置 JAVA_HOME,/etc/profile.d/将是一个不错的选择。

echo export JAVA_HOME="put path to java home here">/etc/profile.d/javaenv.sh
chmod 0755 /etc/profile.d/javaenv.sh
Run Code Online (Sandbox Code Playgroud)

在您下次登录时,您将拥有它