分享一篇Linux系统使用Tomcat服务时交互式修改server.xml中端口号的shell脚本

#!/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'

  实现效果如下图

 

 

 

posted @ 2019-05-13 17:31  Rich七哥  阅读(1252)  评论(0编辑  收藏  举报