当前位置: 技术问答>linux和unix
批处理中的if与环境变量的问题
来源: 互联网 发布时间:2016-07-01
本文导语: 请看代码: # location of java executable if [ -e $JAVA_HOME ]; then JAVA=$JAVA_HOME/bin/java echo "hello" else JAVA=java echo "hello2" fi 运行出来的结果是 [root@localhost 05oa]# sh startoa.sh hello2 可我的JAVA_HOME设置了...
请看代码:
# location of java executable
if [ -e $JAVA_HOME ]; then
JAVA=$JAVA_HOME/bin/java
echo "hello"
else
JAVA=java
echo "hello2"
fi
运行出来的结果是
[root@localhost 05oa]# sh startoa.sh
hello2
可我的JAVA_HOME设置了啊
[root@localhost 05oa]# echo $JAVA_HOME
/user/java/jdk1.6.0_13
输出应该是hello啊 请问可能是怎么一回事?
我是初学者 不大懂上面批处理的代码
比如 -e $JAVA_HOME 我猜用来判断是否存在java_home 问题是不是就在这一句呢?-e又是什么意思呢?
谢谢指教。
# location of java executable
if [ -e $JAVA_HOME ]; then
JAVA=$JAVA_HOME/bin/java
echo "hello"
else
JAVA=java
echo "hello2"
fi
运行出来的结果是
[root@localhost 05oa]# sh startoa.sh
hello2
可我的JAVA_HOME设置了啊
[root@localhost 05oa]# echo $JAVA_HOME
/user/java/jdk1.6.0_13
输出应该是hello啊 请问可能是怎么一回事?
我是初学者 不大懂上面批处理的代码
比如 -e $JAVA_HOME 我猜用来判断是否存在java_home 问题是不是就在这一句呢?-e又是什么意思呢?
谢谢指教。
|
虽然你的设置没问题 我想问一下/user/java/jdk1.6.0_13这个目录存在吗?
|
那只能说明你用的不是你设置的那个“JAVA”。。。。