如果没有安装,则安装shell的shell脚本

时间:2015-06-05 15:07:18

标签: shell package

我制作了一个C程序,但这取决于ncurses库。因此,当我将代码提供给其他人时,我必须先让他/她安装ncurses库,然后才使用我提供的Makefile编译代码。

但是,我想写一个shell脚本,如果它尚未安装,将自动安装ncurses。所以我可以简单地让我的朋友运行脚本。

这就是我希望脚本执行的操作::

if(ncurses-dev package not installed)
     sudo apt-get install ncurses-dev

我知道这是一个非常基本的问题,但我不知道该怎么做。我试过谷歌搜索,但找不到一个我能理解的简单教程。

2 个答案:

答案 0 :(得分:1)

<强> For fedora

if ! rpm -qa | grep -qw $package_name$; then
    yum install $package_name
fi

<强> For UBUNTU

#!/bin/sh

for package; do
    dpkg -s "$package" >/dev/null 2>&1 && {
        echo "$package is installed."
    } || {
        sudo apt-get install $package
    }
done

这也可以用于检查多个包。

答案 1 :(得分:0)

要在Debian上自动安装而无需用户交互(在您的情况下是Ubuntu),您可以在命令行参数列表中使用--force-yes --yes开关。像这样:

sudo apt-get --force-yes --yes install package