📜  卸载所有自制软件包 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:22:50.961000             🧑  作者: Mango

卸载所有自制软件包 - Shell-Bash

在编写软件时,我们可能会编写一些自制的软件包。但是,当我们需要卸载这些软件包时,手动卸载每个软件包是极其繁琐的。在这种情况下,编写一个脚本来卸载所有的自制软件包可以极大地方便我们的工作。下面是一个使用 Shell-Bash 编写的卸载所有自制软件包的脚本。

脚本实现
#!/bin/bash

# 遍历所有的自制软件包
for dir in /usr/local/*; do
    if [ -d "${dir}" ]; then
        package=$(basename "${dir}")
        # 判断当前软件包是否是自制的软件包
        if dpkg -l | grep -q "^ii.*${package}.*"; then
            # 卸载当前软件包
            sudo apt-get remove ${package} -y
        fi
    fi
done
脚本说明

本脚本会遍历 /usr/local/ 目录下的所有文件夹,如果某个文件夹是一个目录,那么这个目录就代表一个自制的软件包。随后,本脚本通过 dpkg 命令的输出信息来确定该软件包是否已安装,如果软件包已安装,则本脚本使用 apt-get remove 命令卸载该软件包。

卸载过程中的 -y 参数为自动确认卸载操作,可以确保卸载过程不会出现暂停等等需要手动操作的提示。

使用本脚本卸载所有自制软件包,可以避免手动卸载带来的大量重复劳动。

适用人群

本脚本适用于编写或安装了较多自制软件包的 Linux 系统管理者或程序员。

参考