zsh与/etc/profile
之前安装jdk后,在/etc/profile里面export了相应的环境变量。但是今天换成zsh之后,重启发现profile失效了。其可修。
一开始是因为启动Idea发现找不的jdk,接着在shell里发现找不到javac命令,但是java命令还是可以找到的。只是java -version之后发现并不是我自己装的Oracle的jdk,而是系统自带的openjdk,以为是openjdk搞的事。于是which java之后,找到openjdk的java命令路径/usr/bin/java,修改了其名字。然后java也找不到了。。。。
突然想起刚刚换了zsh,会不会是它搞的鬼。于是查看了JAVA_HOME等相应的环境变量,果然都为空。但是为什么/etc/profile会失效呢。
查看zsh的相关文档后发现,zsh其实并不使用/etc/profile文件,而是使用/etc/zsh/下面的zshenv、zprofile、zshrc、zlogin文件,并以这个顺序进行加载。
于是乎,在zprofile里重新对JAVA环境变量进行了设置。重启后,问题完美解决~