#!/bin/bash echo -e '\n' echo "***********************************" port1=`grep -r "shutdown" server.xml|awk 'BEGIN {FS="\" "} {print $1}'|awk -F"\"" '{print $2}'` echo -e 當前Tomcat的監聽端口為:"\033[32m $port1 \033[0m" port2=`grep "HTTP" server.xml|awk 'BEGIN {FS="\" "} {print $1}'|awk -F"\"" '{print $2}'` echo -e 當前服務器連接器端口為:"\033[32m $port2 \033[0m" port3=`grep -i "redirectPort" server.xml|awk "NR==1"|awk 'BEGIN {FS="=\""} {print $2}'|cut -f1 -d"\""` echo -e 當前重定向的端口為:"\033[32m $port3 \033[0m" port4=`grep -i "ajp" server.xml |awk 'BEGIN {FS="\" "} {print $1}'|awk -F"\"" '{print $2}'` echo -e 當前服務器的集成端口端口為:"\033[32m $port4 \033[0m" echo "***********************************" echo -e '\n\n' while : do cat <<eof *********************************** 請輸入數字或字符選項 *********************************** 1.修改Tomcat監聽端口 2.修改當前服務器連接器的端口 3.修改當前重定向的端口 4.修改當前服務器的集成端口 x.退出 *********************************** eof linenumber=`grep -rn "unpackWARs" server.xml | awk -F":" '{print $1}'` echo -e unpackWARS...內容在文件第"\033[32m $linenumber \033[0m"行 echo -e '\n' read -p "輸入您的選擇:" op case $op in 1) read -p "修改Tomcat監聽端口為 " port_1 sed -i "s/$port1/$port_1/" /test/server.xml echo -e 當前Tomcat的監聽端口為:"\033[32m $port_1 \033[0m" echo Tomcat監聽端口修改成功 ;; 2) read -p "修改當前服務器連接器的端口為 " port_2 sed -i "s/$port2/$port_2/" /test/server.xml echo -e 當前服務器連接器端口為:"\033[32m $port_2 \033[0m" echo 當前服務器連接器的端口修改成功 ;; 3) read -p "修改當前重定向的端口為 " port_3 sed -i "s/$port3/$port_3/" /test/server.xml echo -e 當前重定向的端口為:"\033[32m $port_3 \033[0m" echo 當前重定向的端口修改成功 ;; 4) read -p "修改當前服務器的集成端口為 " port_4 sed -i "s/$port4/$port_4/" /test/server.xml echo -e 當前服務器的集成端口端口為:"\033[32m $port_4 \033[0m" echo $port4 echo 當前服務器的集成端口修改成功 ;; x) echo 退出修改操作... break ;; *) echo -e "\033[31m 錯誤輸入,請輸入指定選項 \033[0m" esac done echo -e '\n'
實現效果如下圖