2012-01-29 63 views
0

在Ubuntu/Mint的bash shell脚本中,我需要在java安装目录下的/ jre/lib/ext /目录中创建一些符号链接。如何确定和使用Linux shell脚本中的实际java路径

例如,如果openjdk6是默认的Java是/ usr/bin中/ JAVA点:

MYJAVAPATH=readlink -f `which java` 

的路径我想:

/usr/lib/jvm/java-6-openjdk/jre/bin/java 

我可以在我的剧本找到这个在我的shell脚本中需要基于该路径的一部分,加上上面的路径片段:

/usr/lib/jvm/java-6-openjdk/jre/lib/ext/ 

任何人都可以告诉我去德在bash shell脚本中紧接上面的路径?谢谢。

+0

你可以只是cd到那个目录,备份到/ jre /,然后进入lib/ext?一旦出现,然后输入-s并找到符号链接? – Jack 2012-01-30 00:08:24

回答

3

你可以简单地添加相对部分../lib/ext/

MYJAVAPATH="$(readlink -f $(which java))" 
LIB_EXT="$(dirname ${MYJAVAPATH})/../lib/ext" 

,然后使用${LIB_EXT}

+0

这是一个完整的答案。谢谢。除了这样做:cd $ LIB_EXT; LIB_EXT = $(pwd),我怎样才能摆脱/../路径元素? – MountainX 2012-01-30 03:30:25

+0

也,我不想安装任何额外的程序(如realpath)。 – MountainX 2012-01-30 03:49:23

1

您可以使用dirname这样

 
javalink=`which java` 
javapath=`readlink $javalink` 
javadir=`dirname $javapath`