Shell 自动卸载Apache
我们先回顾手动卸载Apache的步骤,然后分析、将手动执行代码转化为shell脚本。
手动卸载Apache
步骤1:停止后台服务
systemctl stop httpd
步骤2:rpm命令查看httpd的安装包
rpm -qa | grep httpd
【重点】步骤3:卸载上述各安装包
yum -y remove httpd-2.4.6-99.el7.centos.1.x86_64
yum -y remove httpd-tools-2.4.6-99.el7.centos.1.x86_64
卸载包后的其它清理工作略。
自动卸载Apache
目标
通过执行一个脚本文件,自动完成上述所有动作。
分析
步骤1与步骤2为固定命令,步骤3需要动态变化。
rpm -qa查询结果是动态内容,对于列表的每一项执行yum remove。
rpm -qa的结果通过 命令替换(见下一节) 放在变量,通过for in遍历变量,循环体执行yum remove。
pkgs=`rpm -qa | grep httpd`
for item in $pkgs
…
或者for in中直接使用rpm -qa的结果。
for item in `rpm -qa | grep httpd`
完整实现
文件sh 01apache-01un.sh
#!/bin/bash
systemctl stop httpd
echo "停止服务完成。"
for item in `rpm -qa | grep httpd`
do
yum -y remove $item
done
echo "卸载完成。"
执行
sh 01apache-01un.sh