Como obtenho a versão de uma aplicação a partir da linha de comando?

18

Gostaria de saber como obter as informações da versão de um programa instalado que não tem o

  

--version ou -version

método implementado.

    
por Paradiesstaub 28.01.2012 / 15:45

4 respostas

20

Você pode usar dpkg ou apt-cache .

Para verificar a versão de bash , por exemplo:

dpkg -l bash

apt-cache show bash
    
por Panther 28.01.2012 / 16:04
6

Se o programa não tiver nenhuma opção de linha de comando que exiba informações de versão, você pode tentar usar dpkg para obter a versão do pacote que geralmente contém a versão do programa de alguma forma.

dpkg -S "$(which YOUR_PROGRAM)"

imprime o pacote que contém YOUR_PROGRAM e

dpkg --status YOUR_PACKAGE | grep ^Version

imprime a versão de YOUR_PACKAGE.

Você pode juntar tudo:

dpkg --status "$(dpkg -S "$(which YOUR_PROGRAM)" | cut -d: -f1)" | grep ^Version

Use-o por exemplo como este para ls :

dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
    
por Florian Diesch 28.01.2012 / 16:10
1

Você pode usar dpkg-query para obter a versão de um pacote:

$ dpkg-query -W -f='${binary:Package} ${Version}\n' firefox
firefox 29.0+build1-0ubuntu0.13.10.3

Para obter apenas a string da versão:

$ dpkg-query -W -f='${Version}\n' firefox
29.0+build1-0ubuntu0.13.10.3
    
por Sylvain Pineau 06.05.2014 / 09:07
0

O comando abaixo também fornece a versão exata do pacote instalado.

apt-cache policy <package-name> | grep Installed: | cut -d: -f2

Exemplo

$ apt-cache policy firefox | grep Installed: | cut -d: -f2
24.0+build1-0ubuntu1

$ apt-cache policy gedit | grep Installed: | cut -d: -f2
3.8.3-0ubuntu3
    
por Avinash Raj 30.03.2014 / 10:21