歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> bash 腳本編程十一 JDK自動部署

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

日期:2017/3/1 10:09:39   编辑:Linux編程

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