2012-01-29 31 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`