1

我有一个脚本可以回显命令行中缺少的包,但想要一个选项来添加控制以安装缺少的应用程序。这样做的最好方法是什么?apt-get 安装 $tmp?

#!/bin/bash

echo "Checking server for missing packages..."
tmp=$(dpkg-query -W -f='${Package} ${Status} \n' apache2 openssh-server php5 \
php5-cli php5-xsl php5-imap php5-curl | grep "no package found")

if [[ $tmp =~ "no package found" ]]
then
echo "working"
apt-get install $tmp
else
echo "foo"
fi

我试图在其中添加一个循环,但没有从 $tmp 获取输出

谢谢

4

1 回答 1

1

如果您命名系统上已安装的软件包,apt-get 不会抱怨。鉴于这一事实,我不会费心尝试过滤掉已安装的软件包,而只需使用以下单行。

apt-get install apache2 openssh-server php5 php5-cli php5-xsl php5-imap php5-curl

您可能想要添加 -qy 开关以安静地运行并且不会被询问任何问题。

于 2013-02-09T06:14:00.370 回答