分享一篇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'
实现效果如下图
No pain, no gain!