Как получить версию приложения из командной строки?

18

Я хотел бы знать, как получить информацию о версии установленной программы, у которой нет

  

--version или -version

.

    
задан Paradiesstaub 28.01.2012 в 15:45
источник

4 ответа

20

Вы можете использовать dpkg или apt-cache .

Чтобы проверить версию bash , например:

dpkg -l bash

apt-cache show bash
    
ответ дан Panther 28.01.2012 в 16:04
источник
6

Если программа не имеет какой-либо опции командной строки, которая отображает информацию о версии, вы можете попробовать использовать dpkg , чтобы получить версию пакета, которая обычно содержит версию программы ion каким-либо образом.

dpkg -S "$(which YOUR_PROGRAM)"

печатает пакет, содержащий YOUR_PROGRAM, и

dpkg --status YOUR_PACKAGE | grep ^Version

печатает версию YOUR_PACKAGE.

Вы можете собрать все это вместе:

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

Используйте его, например, для ls :

dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
    
ответ дан Florian Diesch 28.01.2012 в 16:10
0

В приведенной ниже команде также предоставляется точная версия установленного пакета.

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

Пример

$ 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
    
ответ дан Avinash Raj 30.03.2014 в 10:21
0

Вы можете использовать dpkg-query , чтобы получить версию пакета:

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

Чтобы получить только строку версии:

$ dpkg-query -W -f='${Version}\n' firefox
29.0+build1-0ubuntu0.13.10.3
    
ответ дан Sylvain Pineau 06.05.2014 в 09:07