我不是在寻找一些夜间版本,我只是想要 apt 数据库中可用的最高版本的软件。尽管是初学者,我还是设法获取了基本 tomcat 安装的列表:
XXXXX@debianvirtualbox:~/$aptitude 搜索 tomcat[0-9]+$ p tomcat7 - Servlet 和 JSP 引擎 i tomcat8 - Apache Tomcat 8 - Servlet 和 JSP 引擎
对于其他程序也可以做同样的事情,但我还没有找到任何其他程序可以托管两个具有相同名称的不同版本。我假设有一天tomcat0
会弹出,我宁愿不编辑我的安装程序只是为了确保我们是最新版本。
那么有没有一种方法可以扩展我的命令,使其能够找到最高的 iftomcat[0-9]+
匹配项apt-get install
,就像这样?
TOMCAT=getLatestTomcat; # I need your help with this line
read -p "Tomcat server is missing. Install $TOMCAT server automatically?" -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
echo "Ok, installing.";
apt-get install $TOMCAT
else
echo "Ok, do it yourself..."
exit 404;
fi;
如果答案更通用,那就太好了,因为它在进一步的应用程序中可能比我刚刚做的脚本更有用。
答案1
你可以只用sort
这个。这是一个例子:
getLatestTomcat() {
apt-cache search 'tomcat[0-9]+$' | awk '{ print $1 }' | sort --version-sort | tail -n 1
}
tomcat_package=$(getLatestTomcat)