2013-02-07 75 views
1

我有一個腳本工作來回顯命令行中缺少的包,但想要添加控件以安裝缺少的應用程序。這樣做最好的方法是什麼? apt-get install $ tmp?用於通過dpkg-query安裝丟失包的腳本

#!/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得到輸出

感謝

+0

可能。您可能需要sudo才能進行apt-get安裝。 – fedorqui

回答

1

易於得到,如果你的名字已經包安裝在系統上不會抱怨。 鑑於這個事實,我不打算試圖過濾出已經安裝的軟件包,只是使用下面的一行。

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

您可能想要添加-qy開關以安靜地運行並且不會提出任何問題。