Shell Script 和 yum,包不可用时怎么办。森托斯

标签 shell scripting centos yum

我想使用脚本 shell 安装一系列包。

问题是 : 包不可用怎么办?
脚本思路是:
如果安装了软件包,请转到下一个
如果可以安装该软件包,请安装它,
如果包不可用,请退出脚本,或提醒我有​​关该包的信息。按一个键继续左右。
谢谢!

更多信息:
前段时间和尚发了这句话

yum list installed vnc-server >/dev/null && echo "vnc-server installed."|| yum -y 安装 vnc 服务器

** 它将返回已安装的 vnc-server 或将安装它。**

我尝试安装 mariadb,但是 - mariadb 在 Centos 6.6 中不可用我应该安装其他存储库或我还不知道的东西,关键是脚本的行为。

pkg=mariadb || yum list installed $pkg >/dev/null && echo "--> $pkg installed."||百胜安装 $pkg

这一行将返回 - -> mariadb 已安装。

(这个返回是错误的,因为 MariaDB 不可用)

在命令行输入

百胜安装 mariadb

它会回来

加载的插件:fastestmirror

设置安装过程

从缓存的主机文件加载镜像速度

基地:mirrors.tripadvisor.com

Actor :mirrors.seas.harvard.edu

更新:mirrors.lga7.us.voxel.net

没有可用的包 mariadb。

错误:无事可做

谢谢!

最佳答案

也许你想检查 yum 的退出代码(未经测试的 Bash 代码):

百胜列表 $pkg >/dev/null
如果 [ $? -eq 0]
然后
echo "安装 $pkg"
百胜 -y 安装 $pkg
别的
echo "$pkg 未找到或未知错误。"

关于Shell Script 和 yum,包不可用时怎么办。森托斯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29368607/

相关文章:

c++ - Windows ListView LVM_GETITEM iImage 始终为零

bash - 在Shell脚本中执行时Docker Kill无法正常工作

linux - 在linux/shell中限制cron发送邮件5分钟

Linux,Bash 在生成的进程结束后在脚本中执行命令

centos - Sendmail 中继问题

python - 如何重定向 cron 脚本的完整输出

linux - 如何在linux下正确使用sed

python - 如何在 Python 中跳过读取输入文件的第一行

docker - 在 Centos7 机器上安装 docker 特定版本

centos - 为什么 autogen.sh 即使使用正确的 autoconf 也会失败?