【发布时间】:2011-07-23 04:10:50
【问题描述】:
使用 openSUSE,我下载了 jdk1.6.0_24 的 Oracle rpm,我想将 java home 环境变量设置为 /usr/java/jdk1.6.0_24 但 /etc/alternatives 系统无法自动检测到这个安装JDK。 Update-alternatives ,或者其他找不到 jdk 的东西。
所以,我想在 BASH 脚本中手动检测 JAVA 主页。
如果我运行这个命令: sudo find /usr -name 'jdk1.6*' ,我会得到这个结果:
/usr/java/jdk1.6.0_24
如何将结果传递到环境变量中?我想做类似的事情
#!/bin/bash
read in JAVA_HOME var from a file
if file doesnt exist
sudo find /usr -name 'jdk1.6*'
prompt user for which jdk is correct
set that choice to a variable
add the JDK to alternatives if it is missing
save variable to a file and dont prompt next time
set the alternatives java choice
fi
echo $JAVA_HOME
【问题讨论】:
-
为什么需要sudo才能使用find?如果您的用户 ID 无法读取,则不应将该值用于 JAVA_HOME。
-
你的权利。从我所有的脚本中取出 sudo。谢谢。
标签: java bash environment-variables