- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
使用 openSUSE,我下载了 jdk1.6.0_24 的 Oracle rpms,我想将 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
最佳答案
有点像
#!/bin/bash
function validate_java_home {
if [ -z ${JAVA_HOME} ]
then
# do something if the file doesn't provide ${JAVA_HOME}
else
if [ ! -e ${JAVA_HOME} ]
then
# do something if the file provides a non existent ${JAVA_HOME}
fi
fi
}
if [ ! -e ${YOUR_FILE_NAME_CONTAINING_JAVA_HOME} ]
then
JAVA_HOME_CANDIDATES=$(find /usr -name 'jdk1.6*')
echo "Found the following candidates for JAVA_HOME, reply with the one you want then press return"
echo ""
echo $JAVA_HOME_CANDIDATES
read USER_SUBMITTED_JAVA_HOME
echo "You chose $USER_SUBMITTED_JAVA_HOME"
JAVA_HOME=${USER_SUBMITTED_JAVA_HOME}
else
. ${YOUR_FILE_NAME_CONTAINING_JAVA_HOME}
fi
validate_java_home
export ${JAVA_HOME}
我还没有测试过,但希望你能理解要点(我想说根据格伦 jack 曼的回答使用 select 更简洁/友好,不知道它存在所以我很高兴我读到了这个问题! )
关于java - Bash shell 脚本 : How to set JAVA_HOME environment variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5437224/
当我做的时候 echo %JAVA_HOME% 它在 Windows 10 上返回 %JAVA_HOME% 我做错了什么? 最佳答案 如果您确定已正确设置它们,则可以在 Windows 10 中使用以
据我所知,我的系统 JAVA_HOME 变量设置正确,但 echo %JAVA_HOME% 返回错误的路径(适用于旧版本的 Java)即使在我重新启动 Windows 之后。 另一个程序也认为 JAV
当我尝试 hadoop2.x 时,我启动了一个伪分布式操作,当我输入“sbin/start-dfs.sh”时,我得到了一个错误: JAVA_HOME 不存在然后我检查 etc/hadoop/hadoo
我编辑了我的 .bashrc我的服务器上的文件,带有 sudo nano ~/.bashrc export JAVA_HOME=/usr/bin/java export PATH=${PATH}:${
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 2 年前。 Improve th
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
我有 Linux CentOS 5.5 版,我正在尝试安装 sun-java6-jdk。 我注意到如果我执行以下命令,我有: java -version java version "1.6.0_2
尝试编译 Javadoc taglet 时,需要 $JAVA_HOME/lib/tools.jar ,我发现ant(1.8.4版)集java.home至 $JAVA_HOME/jre而不仅仅是 $JA
我正在尝试安装 jboss-as-7.1.1.Final。首先我remarqued,我无法访问JBoss 的管理页面。然后我尝试从命令提示符添加用户和密码,我看到这条消息出现: JAVA_HOME i
我尝试在 Windows 中的 CMD 上运行 Kafka,它非常不稳定,经常出错。然后我遇到了这个post ,这建议安装 Ubuntu 并从那里运行 Kafka。 我已经成功安装了 Ubuntu。鉴
我注意到首先有人问过一个非常相关的问题,但答案是重新启动系统,这对我来说不起作用。如果有人感兴趣,这是该链接: WINDOWS 10 JAVA_HOME is not working 此外,关于 Pa
我查看了与该错误相关的每个 stackoverflow 问题: Error: JAVA_HOME is not defined correctly. We cannot execute /usr/
我在 Windows 10 中遇到了 Tomcat8.exe 这种奇怪的情况。 我在Windows系统环境下定义的JAVA_HOME环境变量指向JDK 1.8路径: JAVA_HOME=C:\Prog
当我运行 react-native run-android 时,出现错误 ERROR: JAVA_HOME is set to an invalid directory:/usr/libexec/ja
当我运行 react-native run-android 时,出现错误 ERROR: JAVA_HOME is set to an invalid directory:/usr/libexec/ja
我知道有很多关于此的问题和答案,但没有一个有效。我使用的是 Windows 7 计算机。 我已经在环境变量中设置了 JAVA_HOME,但我不断收到错误。我已将其设置为 "C:\Progra
这个问题在这里已经有了答案: Towards the "true" definition of JAVA_HOME (5 个答案) 关闭 4 年前。 为什么 ActiveMQ 提供者需要设置 JAV
我似乎有一个错误指定的 JAVA_HOME 变量。我可以在很多事情上绕过它,但现在我似乎被困住了。我正在尝试使用 Google App Engine 并上传应用程序。 当我这样做时,我得到的错误是:
我正在尝试更新 Jasper Reports Server,但遇到了 Java 问题。它使用Tomcat来运行java。我这台服务器上没有安装java,对java也不是很熟悉。 Java 安装在名为
所以我尝试为 cocos2d-x 构建项目。我目前在 cmd 中,当我键入 python android-build.py -p 19 cpp-tests 时,它开始制作项目,但随后出现构建失败的错误
我是一名优秀的程序员,十分优秀!