检查并安装多个软件包(如果未安装)-使用 bash

检查并安装多个软件包(如果未安装)-使用 bash

我需要 Bash 脚本来安装一些软件包。例如:我需要安装软件包:Molecule 和 Ansible

Bash 脚本应该可以做到这一点,而且我在 Ubuntu/Debian 中需要它:

If Molecule exist > print "Molecule Installed"
else
apt-get install Molecule
then
if Ansible exist > print "Ansible installed"
else
apt-get install Ansible

你能告诉我包含上述指令的 bash 脚本是什么样子的吗?

先感谢您!

答案1

你其实不需要这样的脚本。每当你尝试安装一个已经安装的包时,apt都会输出<pkg-name> is already the newest version.字符串。你可以看一个例子这里

$ sudo apt-get install python3-numpy
[sudo] password for ubuntuadmin: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-numpy is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 323 not upgraded.
$

因此,您的问题就简化为简单地使用apt命令本身来安装多个包

sudo apt-get install molecule ansible 

答案2

打开终端并输入:

apt policy molecule ansible  

输出是不言自明的。它将类似于此示例:

$apt 策略分子 ansible
ansible:
  已安装:2.5.1+dfsg-1
  候选:2.5.1+dfsg-1
  版本表:
 *** 2.5.1+dfsg-1 500
        500 http://archive.ubuntu.com/ubuntu/pub/ubuntu bionic/universe amd64 软件包
        500 http://archive.ubuntu.com/ubuntu/pub/ubuntu bionic/universe i386 软件包
        100 /var/lib/dpkg/状态
N:无法定位包分子

相关内容