因为我们都知道,liferay有2个版本,一个是enterprise edition,一个是community edition版本,他们部分代码的实现逻辑是不同的,从而也会影响到我们最终的应用。所以我们必须让tarball智能的获取我们下载的liferay tomcat zip文件是那个版本:

 

  1. #resolve the name of the tomcat zip bundle 
  2.  
  3. LIFERAY_TOMCAT_BUNDLE_ZIPFILE_NAME=${LIFERAY_TOMCAT_BUNDLE_DOWNLOAD_ADDR##*/} 
  4.  
  5. LIFERAY_TOMCAT_BUNDLE_FOLDER_NAME=${LIFERAY_TOMCAT_BUNDLE_ZIPFILE_NAME%.zip} 
  6.  
  7. echo "the folder name after unzipping the liferay tombat bundle zip file is $LIFERAY_TOMCAT_BUNDLE_FOLDER_NAME" 
  8.  
  9.   
  10.  
  11.   
  12.  
  13. #the liferay-tomcat-bundle-information 
  14.  
  15. #make conclusion whether the liferay server is a Enterprise Edition or Community Edition 
  16.  
  17.   
  18.  
  19. #the wildcard of the liferay communication edition string and the liferay enterprise editon string 
  20.  
  21. LIFERAY_CE_STRING=".ce.ga" 
  22.  
  23. LIFERAY_EE_STRING=".ee.ga" 
  24.  
  25.   
  26.  
  27. #declare some shell variables for conclusion 
  28.  
  29. declare -i IS_LIFERAY_CE 
  30.  
  31. declare -i IS_LIFERAY_EE 
  32.  
  33. declare -i ZERO 
  34.  
  35.   
  36.  
  37. IS_LIFERAY_CE=`echo $LIFERAY_TOMCAT_BUNDLE_DOWNLOAD_ADDR | grep $LIFERAY_CE_STRING | wc -l` 
  38.  
  39. IS_LIFERAY_EE=`echo $LIFERAY_TOMCAT_BUNDLE_DOWNLOAD_ADDR | grep $LIFERAY_EE_STRING | wc -l` 
  40.  
  41. ZERO=0 
  42.  
  43.   
  44.  
  45.   
  46.  
  47. if [ "$IS_LIFERAY_CE" -gt "$ZERO" ]; 
  48.  
  49.          then 
  50.  
  51.                  LIFERAY_SERVER_TYPE=ce 
  52.  
  53.                  echo "liferay bundle is a community edition" 
  54.  
  55. fi 
  56.  
  57.   
  58.  
  59. if [ "$IS_LIFERAY_EE" -gt "$ZERO" ]; 
  60.  
  61.          then 
  62.  
  63.                  LIFERAY_SERVER_TYPE=ee 
  64.  
  65.                  echo "liferay bundle is an enterprise edition" 
  66.  
  67. fi 
  68.  
  69.   

 

 

思路也很清晰,分析下载地址,先去除所有的路径名,只得到zip文件的文件名,然后判断这个文件名是否有".ce.ga"或者".ee.ga"字眼,从而分辨出这个zip包的类型。不在详述。