歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

bash 腳本編程十一 JDK自動部署

現在演示如何用bash腳本自動化部署JDK。

環境:Ubuntu12.04 amd 64 Desktop or Server, 必須是Bash shell

復制目錄java到目標機器,用root權限執行install.sh腳本即可。

看一下目錄結構:

  1. .  
  2. ├── check.sh  
  3. ├── install.sh  
  4. ├── jdk1.6.0_35  
  5. ├── readme  
  6. └── tool.sh  
要執行的就是install.sh,這個腳本會先調用check.sh腳本裡的函數判斷當前是否安裝了jdk,版本號是否是1.6.0_35. 如果沒有安裝或者版本號不同,就安裝。

jdk1.6.0_35目錄是解壓後的oralce的Linux 64位的jdk包

tool.sh提供了基本的一些復制目錄和創建軟鏈接的函數。

先看install.sh腳本:

  1. #!/bin/bash   
  2.   
  3. source check.sh  
  4. source tool.sh  
  5.   
  6. hasJava  
  7. r=$?  
  8.   
  9. SRC_JDK_FILES=./jdk1.6.0_35  
  10. DST_JDK_FILES=/usr/jdk1.6.0_35  
  11.   
  12. if [ $r -eq 1 ]  
  13. then  
  14.     echo "java was installed"  
  15. else  
  16.     echo "java was not installed"  
  17.     copyFolder $SRC_JDK_FILES $DST_JDK_FILES  
  18.     createLink $DST_JDK_FILES /usr/jdk1.6  
  19.     createLink '/usr/jdk1.6/bin/java' '/etc/alternatives/java'  
  20.   
  21.     createLink /etc/alternatives/java /usr/bin/java  
  22. fi  
再看check.sh腳本
  1. #!/bin/bash   
  2.   
  3. #check java is available in this session  
  4. function hasJava {  
  5.     v=`java -version 2>&1`  
  6.   
  7.     echo 'check java platform...'  
  8.   
  9.     pos=`expr match "$v" 'java version \"1.6.0_35\"'`  
  10.     if [ $pos -gt 0 ]  
  11.     then  
  12.     return 1  
  13.     else  
  14.     return 0  
  15.     fi  
  16. }  
最後再看tool.sh腳本
  1. #!/bin/bash  
  2.   
  3. function copyFolder {  
  4.   
  5.     if [ -d "$2" ]  
  6.     then  
  7.     echo "$2 folder exists already, stop copying."  
  8.     else  
  9.     echo "$2 folder doesn't exists, start copying..."  
  10.     cp -r $1 $2  
  11.     fi  
  12. }  
  13.   
  14. #create a link($2) to file($1)  
  15. function createLink {  
  16.   
  17.     if [ -f "$2" ]  
  18.     then  
  19.     echo "$2 link exists already, removing it..."  
  20.     rm $2  
  21.     else  
  22.     echo "$2 link doesn't exists, creating it..."  
  23.     fi  
  24.     echo "creating link: $2 to $1"  
  25.     ln -s $1 $2  
  26. }  
有了這個,以後工作就方便多了。
Copyright © Linux教程網 All Rights Reserved