shell实现rpm -e 一键卸载所有相关包以及依赖

原理也比较简单, 刚好用到就稍微写了一下, 做个笔记

#!/bin/bash
#*************************************************************************
#         > File Name: remove.sh
#         > Author: chenglee
#         > Main : chengkenlee@sina.com
#         > Blog : http://www.cnblogs.com/chenglee/
#         > Created Time : 2019年04月09日 星期二 10时22分24秒
#*************************************************************************

rpm -qa | grep $1 > packages

function ReMove(){
        if [ ! -s "packages" ]; then
            echo "参数不存在,请在运行脚本后面添加需要卸载的软件名称或者此工具已被卸载!"
            echo "请运行rpm -qa | grep 名称检索"
            exit;
        else
            exec 2<"packages"
            while read line2<&2
            do
                rpm -e $line2 --nodeps
                sleep 2;
                echo "remove $line2 success !!"
            done
        fi
}
function  CheckRoot(){
    if [ $UID -ne  0 ];then
        echo "[权限不足...请切换至管理员用户]"
        exit;
    else
        echo "[权限匹配...准备进行卸载]"
        sleep 2;
        ReMove
    fi
}
function main(){
    CheckRoot
}
main

命令实现

rpm -qa | grep gcc | xargs rpm -e --nodeps

gcc:变量

  

原文地址:https://www.cnblogs.com/chenglee/p/10675704.html