我有一个脚本正在工作,以回显命令行中缺少的软件包,但希望有一个选项来添加控件以安装缺少的应用程序。最好的方法是什么? 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开关以使其安静运行,而不会被问到任何问题。