我有一个脚本正在工作,以回显命令行中缺少的软件包,但希望有一个选项来添加控件以安装缺少的应用程序。最好的方法是什么? apt-get install $ 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获取输出

谢谢

最佳答案

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

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


您可能希望添加-qy开关以使其安静运行,而不会被问到任何问题。

08-28 14:20