2013-01-03 68 views
-1

我有一個腳本文件,它看起來象下面這樣:腳本文件來檢查Java的

# /bin/sh 

if [ -z "$JAVACMD" ] ; then 
    if [ -n "$JAVA_HOME" ] ; then 
     JAVACMD="$JAVA_HOME/bin/java" 
    else 
     JAVACMD="`which java`" 
    fi 
fi 

if [ ! -x "$JAVACMD" ] ; then 
echo "Error: JAVA_HOME is not defined correctly; cannot execute: $JAVACMD" 
exit 1 
fi 

有人可以告訴我這是什麼「如果」條件檢查什麼呢?我可以猜測腳本檢查系統上安裝的java,但很想知道它究竟做了什麼。

+0

上SO發佈提問之前一定要做足。有很多[教程](http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html)在線的。 – jlordo

回答

0

第一條if語句測試是否$JAVACMD變量已設置。如果沒有,那麼它設置它,如果設置爲從$JAVA_HOME建設,或試圖找到如果沒有任何java可執行文件。

最後的if語句檢查是否是$JAVACMD點確實存在,並報告錯誤,如果不是路徑。

2
  • -z檢查該串具有Ž ERO長度(即是空的)
  • -n檢查該串具有Ñ上零長度
  • -x檢查該文件Ëx ists擁有可執行權限

請參閱test manual pages瞭解其他可用標誌小號