工作中关于rpm的一个简单但头疼的问题:

公司有个需要自动化更新rpm包的需求,rpm包名是:tingyun-agent-php-1.0.5-1.x86_64,本来是一个很简单的东西,一行代码就可以实现:

for a in `rpm-aq|grep tingyun`;do rpm -e $a;done

但是结果是:

[root@centos scripts]# for a in`rpm -aq|grep tingyun`;do rpm -e $a;done

error: packagetingyun-agent-php-1.0.5-1.x86_64 is not installed

报了个错误,说没有安装此包,但是很明显,查询这个包是存在的:

[root@centos scripts]# rpm-aq|grep tingyun

tingyun-agent-php-1.0.5-1.x86_64

手动执行可以卸载没有问题:

[root@centos scripts]# rpm -etingyun-agent-php-1.0.5-1.x86_64

[root@centos scripts]#

但是这个需要用脚本实现,于是我写在了脚本里,用-x来查看步骤:

[root@centos scripts]# sh -xtest.sh

++ rpm -aq

++ grep tingyun

+ for a in '`rpm -aq|greptingyun`'

+ rpm -e'tingyun-agent-php-1.0.5-1.x86_64'

error:package tingyun-agent-php-1.0.5-1.x86_64 is not installed

然后我把倒数第二行的结果拿出来单独执行,是可以执行成功的:

[root@centos scripts]# rpm -e'tingyun-agent-php-1.0.5-1.x86_64'

[root@centos scripts]#

于是我换一种方法:

[root@centos scripts]# rpm-aq|grep tingyun|xargs rpm -e

error: packagetingyun-agent-php-1.0.5-1.x86_64 is not installed

结果还是一样,多么奇葩的问题,我在其他的虚拟机上用这种方法都正常,但是这台虚拟机却碰到这种头疼的问题,怀疑可能和系统有关,百度和google上都找不到答案。纠结了一整天,没办法只好向老男孩老师请教,老师给出我一个方法如下,
for a in `rpm -aq tingyun-agent-php`;do rpm -e $a;done

直接用rpm –aq  rpm包名,不用grep,  完美解决问题。

非常感谢老男孩老师,解决了我一大头疼的问题。不得不说,姜还是老的辣

工作中关于rpm的一个简单但头疼的问题相关推荐

  1. android计算器功能实现,在android中利用 studio实现一个简单的计算器功能

    在android中利用 studio实现一个简单的计算器功能 发布时间:2020-11-07 15:35:20 来源:亿速云 阅读:168 作者:Leah 这篇文章将为大家详细讲解有关在android ...

  2. 基于C#中的Trace实现一个简单的日志系统

      最近在做的项目进入中期阶段,因为在基本框架结构确定以后,现阶段工作重心开始转变为具体业务逻辑的实现,在这个过程中我认为主要有两点,即保证逻辑代码的正确性和容错性.确定需求文档中隐性需求和逻辑缺陷. ...

  3. src获取同级目录中的图片_一个简单的Python爬虫实例:百度贴吧页面下载图片

    本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片. 1. 概述 本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片.下载图片的步骤如下: 获取网页html文本内容: 分析html ...

  4. 如何在 Unity 中使用 Probuilder 设计一个简单的关卡

    通常,当您开始在 Unity 中开发游戏时,您需要一个精简版的环境,您可以在其中移动角色. ProBuilder 允许您快速创建 3D 关卡和原型,以及创建基本的 3D 模型,而无需离开 Unity. ...

  5. 在工作中,如何对付一个猪一样的队友?

    什么样的队友才算作猪一样的队友呢? 顾名思义,猪一样的队友,就是拥有猪一样的内心,除了吃喝十分在意,也在意不来其它.他们会搞砸你计划中的一切,而毫无愧意:ta们会扰闹团队的凝聚力,而浑然不自知:简而言 ...

  6. Python中字符串反转的一个简单操作

    今晚遇到一个非常简单的问题:Python中字符串反转.下意识的用了切片,两行代码就完成了,想拓展一下,于是就去百度了一下,结果各种被坑,最后还是用了切片,记录一下. # -*-coding:utf-8 ...

  7. HTML中div标签的一个简单的使用和介绍

    <!-- 什么是块级元素: 块级元素的特点: 总是在新行开始 高度,行高和外边距和内边距都可以进行控制 宽度缺省的容器是100% 除非是设置一个宽度 可以容纳其他的文本和其他的内联元素 内联元素 ...

  8. android 画布旋转,Android-在安卓开发中,如何实现一个简单的图片旋转

    图像的旋转有很多方法,除了常见的使用动画和矩阵,还可以通过操作背景画布本身来旋转 现将正常的图像绘制到画布中,保存一次画布后整体旋转,然后再恢复画布,此时的图像便得到了旋转的效果,google 官方也 ...

  9. C#中使用MenuStrip做出一个简单的记事本程序

    1. MenuStrip菜单栏控件 主要属性和事件 属性 说明 Name 代码中菜单对象的名称 Items 在菜单中显示的 Text 与菜单项关联的文本 DropDownItems 在子菜单中显示项的 ...

最新文章

  1. top命令的笔记补充2--如何将top信息后台运行并写入log
  2. JavaScript 方法传参
  3. window.open在Safari中不能打开
  4. 签名工具 signtool.exe 参数简介
  5. oracle报错编码
  6. 连接数据库的方法---ODBC
  7. leetcode147 对链表进行插入排序
  8. 自动化运维脚本语言之expect实践学习(1)
  9. linux下c语言 读取文件
  10. 选择中医 - 养肾补肾方法
  11. sdcc和C51中断程序
  12. 简单 Quartz定时器使用 入门
  13. jQuery事件绑定与解绑
  14. 09-kafka分区数的设置
  15. 什么是HSS?HSS有什么主要功能?HSS与HLR的区别是什么?
  16. 使用qt在windows的vs下写串口助手
  17. SE16N与SE11字段描述不同
  18. win10禁用驱动程序强制签名_[教程] 如何永久禁用驱动程序强制签名?
  19. 【工具资源】—— Gitbash命令行上传代码到Github仓库
  20. Python绘图Matplotlib手册

热门文章

  1. 免费学python的软件-初学python编程,有哪些不错的软件值得一用?
  2. 记事本写python怎么运行-python入门之一个简单记事本
  3. oracle空格转换函数,ORACLE TO_CHAR函数格式化数字的出现空格的缘故
  4. The Report(连接查询)
  5. Makefile中常用的函数
  6. Linux常用命令(简单的常用)
  7. VUE+WebPack游戏开发:神庙逃亡的游戏设计
  8. SpringBoot中在除controller以外注入service-过滤器中注入
  9. css样式继承规则详解
  10. Android webservice的用法详细讲解