java - 在 Centos 7 上设置 Java 环境变量会破坏 $PATH

标签 java linux centos7

在 Centos 7 服务器上安装 Java 8 后,我将以下行添加到/etc/environment

export JAVA_HOME=/opt/jdk1.8.0_161
export JRE_HOME=/opt/jdk1.8.0_161/jre
export PATH=$PATH:/opt/jdk1.8.0_161/bin:/opt/jdk1.8.0_161/jre/bin

但是在盒子上重新启动后,在我登录后它出现了

-bash: id: command not found
-bash: id: command not found
-bash: id: command not found
/usr/libexec/grepconf.sh: line 5: grep: command not found

这让我觉得我以某种方式破坏了 PATH 变量,但我无法打开/etc/environment,因为“less”、“vi”等不被识别为命令。

关于我做错的想法以及如何修复当前状态?

最佳答案

不要在 /etc/environmentexport。相反,仅提供定义,例如 JAVA_HOME=/opt/jdk1.8.0_161

使用vi 的完整路径,例如/usr/bin/vi 来修复文件。这样 PATH(在现在失败的 /etc/environment 中导出)将不会被搜索。

这是一个示例命令。

/usr/bin/sudo /usr/bin/vi /etc/environment

关于java - 在 Centos 7 上设置 Java 环境变量会破坏 $PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48871323/

相关文章:

php - 在 php.ini 中禁用 opcache.enable 在 CentOS 上不起作用

java - 如何刷新到 Java 的 JTextArea?

java - 在java中没有这样的关键字的静态接口(interface)和普通接口(interface)有什么区别?

java - 使用字符串数组将文件名分配给 ImageIcons (Java)

java:当多个进程运行时killall -3如何工作?

c - 拦截系统调用时无法处理 X 处的内核分页请求

docker - 无法删除 'folder' : Device or resource busy

java - Java 中的图像调整大小会导致某些 JPG 损坏

java - SQLClientInfoException/Linux

python - 无法通过 epel-release 安装 python36,找不到包 python36