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

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

--version или -version

.

1
задан 30 March 2014 в 13:18

3 ответа

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

dpkg -S "$(which YOUR_PROGRAM)"
[d1 ] печатает пакет, содержащий 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
6
ответ дан 25 May 2018 в 14:47
  • 1
    Как предложение. Поместите все в функцию и загрузите ее, когда начнется ваша оболочка. – Zoke 28 January 2012 в 22:03

Вы можете использовать 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
1
ответ дан 25 May 2018 в 14:47

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

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
0
ответ дан 25 May 2018 в 14:47

Другие вопросы по тегам:

Похожие вопросы: