Jun*_*ark 138 linux ubuntu environment-variables java-home
在Ubuntu中,我想在Java 5和6之间来回切换我的JAVA_HOME环境变量.
我打开一个终端并输入以下内容来设置JAVA_HOME环境变量:
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
Run Code Online (Sandbox Code Playgroud)
在同一个终端窗口中,我键入以下内容以检查环境变量是否已更新:
echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
我看到/usr/lib/jvm/java-1.5.0-sun这是我期待看到的.另外,我修改〜/ .profile并将JAVA_HOME环境变量设置为/usr/lib/jvm/java-1.5.0-sun.
现在针对这个问题 - 当我打开一个新的终端窗口并通过键入echo $ JAVA_HOME来检查我的JAVA_HOME环境变量时,我看到我的JAVA_HOME环境变量已经恢复为Java 6.当我重启我的机器(或日志)时我猜想,JAVA_HOME环境变量设置为Java 5(可能是因为我在〜/ .profile中进行了修改).
有没有解决的办法,这样我可以改变我的JAVA_HOME环境,而无需注销并重新登录的(并作出环境变量的变化坚持在所有新的终端窗口)?
Mar*_*cek 196
将环境变量放入全局/etc/environment
文件中:
...
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
...
Run Code Online (Sandbox Code Playgroud)
在要更新变量的每个shell中执行"source/etc/environment":
$ source /etc/environment
Run Code Online (Sandbox Code Playgroud)
检查它是否有效:
$ echo $JAVA_HOME
$ /usr/lib/jvm/java-1.5.0-sun
Run Code Online (Sandbox Code Playgroud)
太棒了,不需要注销.
如果只想在终端中设置JAVA_HOME环境变量,请将其设置在〜/ .bashrc文件中.
Hol*_*off 31
这可能会解决您的问题:https: //help.ubuntu.com/community/EnvironmentVariables
会话范围的环境变量
为了以影响特定用户环境的方式设置环境变量,不应该在用户主目录中的特定shell脚本文件中放置命令来设置它们的值,但是使用:
〜/ .pam_environment - 此文件专门用于设置用户的环境.它不是一个脚本文件,而是由赋值表达式组成,每行一个.
不建议:
〜/ .profile - 这可能是放置环境变量赋值的最佳文件,因为它在启动过程桌面会话期间由DisplayManager自动执行,并且当从文本控制台登录时由登录shell执行.
Ale*_*lex 13
尝试这些步骤.
- 我们要编辑"etc\profile".环境变量将输入文件的底部.由于Ubuntu不允许访问根文件夹,我们将不得不在终端中使用一些命令
第1步:启动终端.输入命令:gksudo gedit /etc/profile
第2步:配置文本文件将打开.在页面底部输入环境变量............ 例如: export JAVA_HOME=/home/alex/jdk1.6.0_22/bin/java
export PATH=/home/alex/jdk1.6.0_22/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
step3:保存并关闭文件.检查环境变量是否使用echo命令设置........ 例如 echo $PATH
您需要将变量定义放在~/.bashrc
文件中.
来自bash手册页:
当启动不是登录shell的交互式shell时,如果存在这些文件,bash将从/etc/bash.bashrc和〜/ .bashrc读取并执行命令.
传统上,如果您只想更改终端窗口中的变量,请将其设置在.bashrc
文件中,每次打开新终端时都会将其设置为源文件..profile
每次打开新终端时都不会获取文件.
查看.profile和.bashrc之间的区别: .bashrc,.bash_profile和.environment之间有什么区别?
.bashrc
应该解决你的问题.但是,由于您使用的是Ubuntu,因此它不是正确的解决方案.请参阅相关的Ubuntu帮助页面" 会话范围的环境变量 ".因此,难怪这.profile
对你不起作用.我使用Ubuntu 12.04和xfce.我设置了我.profile
,即使我退出也没有生效.这里有类似的经历.所以你可能不得不使用.pam_environment
文件而完全忘记了.profile
,和.bashrc
.并且注意这.pam_environment
不是脚本文件.
归档时间: |
|
查看次数: |
285121 次 |
最近记录: |