Ubuntu下为啥每次重启都要source一下/etc/profile才能显示java的版本?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu下为啥每次重启都要source一下/etc/profile才能显示java的版本?相关的知识,希望对你有一定的参考价值。

我已经在profile中添加了下面三行: export JAVA_HOME=/usr/local/jdk export HADOOP_HOME=/usr/local/hadoop export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH 但是每次启动都是这样: The program 'java' can be found in the following packages: * default-jre * gcj-4.6-jre-headless * openjdk-6-jre-headless * gcj-4.5-jre-headless * openjdk-7-jre-headless Try: apt-get install 只有source /etc/profile才能显示java的版本,我十分无语耶- -,求高人指点

参考技术A 有几种可能,
可能是/etc/profile在你调用java前没有被执行;也有可能是,在/etc/profile执行后有别的地方更改了环境变量
你可以在运行java出错是,echo这些环境变量,看看是什么输出
你是在哪里运行java?如果是bash
termial,建议你把这些加入~/.bashrc
参考技术B 你必须进入超级用户状态
#,然后在
#
状态下使用全屏幕编辑程序
vi
对它进行编辑即可。使用方法如下:
#vi
/etc/profile
其中:
代表回车键。
参考技术C 这个是系统自动会读取的,
难道是每次手动启动的

这个问题倒是时分稀奇了,发个私信过来吧,
帮着检查一下

Mac 每次都要执行source ~/.bash_profile 后,配置的环境变量才生效

问题:
自己在 ~/.bash_profile 中配置环境变量, 可是每次重启终端后配置的不生效.需要重新执行 : $source ~/.bash_profile后,才会生效。

原因:
自己是在bash中配置的环境变量,而当前系统是使用的是shell

查看当前使用的shell:
终端输入:echo $SHELL
输出是/bin/zsh,说明使用的是zsh

解决办法:
在.zshrc文件加中添加source ~/.bash_profile,方法如下
进入主目录 cd ~
显示隐藏文件,找到.zshrc文件夹 ls -a(如果没有可以只直接创建)
编辑文件 vi .zshrc
按i进入编辑模式,加入source ~/.bash_profile后,esc,再输入:wq保存退出

以上是关于Ubuntu下为啥每次重启都要source一下/etc/profile才能显示java的版本?的主要内容,如果未能解决你的问题,请参考以下文章

我在ubuntu下面安装了mysql。但是为啥每次启动都要重新安装呢。

为啥每次进入命令都要重新source /etc/profile 才能生效

ubuntu18每次启动linux都要source /etc/profile生效java环境变量

我用Netbeans写的程序,tomcat为啥每次都要重新启动一下才能运行啊???

为啥我的电脑每次关机重新开机都要重新把无线网打开?

vagrant ssh 登陆ubuntu 为啥每次都要输密码?并未在vagrantfile中配置password