# 检测yum是否可用
[ $(yum repolist | awk '/repolist/{print$2}' | sed 's/,//') -eq 0 ] && echo 'your yum has problem' && exit 2# 如果只要安装一个包直接执行:
# yum install -y 需要安装的包 &>/dev/null
# [ $? -ne 0 ] && echo 'your yum cannot install '$i && exit 3# 如果安装多个包,就用一个循环:
for i in 需要yum安装的多个rpm包名,空格分隔
dorpm -qa | grep ${i%%.*} &>/dev/null[ $? -eq 0 ] || yum install -y $i&>/dev/null[ $? -ne 0 ] && echo 'your yum cannot install '$i && yum_right=3
done
[ $yum_right ] && exit 3

部分代码解释:

%%,*就是把第一个,号之前的数据拿出来,而%,*就是把最后一个,之前的数据拿出来:
y:root:/tmp>i="abc,def,ghi,jlk"
y:root:/tmp>echo ${i%%,*}
abc
y:root:/tmp>echo ${i%,*}
abc,def,ghi

shell中循环安装软件包相关推荐

  1. shell中循环数组

    定义一个数组,用小括号括起来,内容用空格分割即可. 循环数组时候一个关键点是要在数组后面增加 [@] 符号,表示获取数组全部内容,如果不加,则只能获取到第一个元素. 也可以通过下标的方式获取数组元素  ...

  2. shell中循环执行某个进程获取返回值,并循环执行直到函数出错

    测试进程test的代码 #include <stdio.h>int main(){return 0; } 编译出测试程序: gcc test.c -o test 测试脚本 #!/bin/s ...

  3. zypper 删除mysql_如何在 Linux 上安装/卸载一个文件中列出的软件包?

    原标题:如何在 Linux 上安装/卸载一个文件中列出的软件包? 我们可以手动去安装这些软件但是这将花费大量的时间.你可以手动安装一俩个服务器,但是试想如果你有大概十个服务器呢.在这种情况下你无法手动 ...

  4. 24.shell中list详解,定义list,获取List的总个数,获取list的某个元素值,将list的每个元素转换成以空格分隔的字符串,空格分隔的字符串转换成list,for循环list

    文章目录 前言 定义list 获取List的总个数 获取list的某个元素值 将list的每个元素转换成以空格分隔的字符串 空格分隔的字符串转换成list for循环list 总结 友情链接 前言 s ...

  5. 软件测试用哪个版本linux,技术|如何在 Linux 中不安装软件测试一个软件包

    出于某种原因,你可能需要在将软件包安装到你的 Linux 系统之前对其进行测试.如果是这样,你很幸运!今天,我将向你展示如何在 Linux 中使用 Nix 包管理器来实现.Nix 包管理器的一个显著特 ...

  6. shell中竖线的作用_如何在 Linux 中安装、配置和使用 Fish Shell?

    每个 Linux 管理员都可能听到过 shell 这个词.你知道什么是 shell 吗? 你知道 shell 在 Linux 中的作用是什么吗? Linux 中有多少个 shell 可用? -- Ma ...

  7. shell中的for循环语句

    shell中的for循环语句 for语句 语法: for 变量 in 值1 值2 值3 -- do 语句 done 机理:把各值依次赋给for后的变量,每赋值一次,便执行一次do与done之间的语句 ...

  8. Shell中的循环语句for、while、until实例讲解

     在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外,再把以前自己写过的相关内容整理一下吧. 这里包括for/while/until循环,以及变量自增的语法实例. ...

  9. shell中while循环案例

    shell中while循环案例 新建一个文件:  while_test.sh  ,复制一下代码: i=0 while ((i < 9))                             ...

最新文章

  1. 机器学习入门(08)— 损失函数作用和分类(均方误差、交叉熵误差)
  2. 脚本文件直接执行python代码
  3. Android图片放对应的drawable文件夹
  4. 皮一皮:今年的网友不够优秀啊。。。
  5. OpenLayers中地图缩放级别的设置方法
  6. 计算机安全相关的会议和期刊,中国计算机学会推荐国际学术刊物与会议网络与信息安全...
  7. mysql一个表几亿数据_如何在mysql 造1亿条记录的大容量数据表?
  8. 每日一题(5) —— 逗号表达式
  9. 表达式int('2222',4)的值是多少?(每日一题)
  10. 编译器之词法分析器(Lexical Analyzer)
  11. 利用Android源码,轻松实现汉字转拼音功能
  12. 5G时代下的人工智能发展
  13. 为Linux内核text段计算SHA1摘要以检测篡改
  14. 由 UWP 版网易云音乐闪退引发的博文
  15. 华为各类工程师通信基础面试题目及答案
  16. 番茄编程助手_如何使用番茄法高效的写算法题?
  17. Android性能优化-内存优化
  18. Python也能聊微信
  19. Magisk模块开发指南
  20. 叶胜超:IOST ----基于分片技术的第四大公链项目!

热门文章

  1. 运放电路复习,放大器、加法器、积分器、差分放大电路等
  2. AMG8833的使用与stm32驱动代码
  3. 理想ONE“偷袭”豪华品牌 李想强调不会收取金融服务费 | 2019上海车展
  4. 最近开始研究和关注的技术
  5. SAP R3 在windows XP下 安装成功心得分享
  6. SqlBulkCopy与触发器,批量插入表(存在则更新,不存在则插入)
  7. 关于睡眠你不可不知的十件事
  8. MySql中启用InnoDB数据引擎的方法
  9. putty network error:Connection refused 乱码
  10. 理解标准输出流方法:WriteLine和Write