Jak uzyskać wersję aplikacji z wiersza poleceń?


20

Chciałbym wiedzieć, jak uzyskać informacje o wersji zainstalowanego programu, który nie ma

--version lub -version

zaimplementowana metoda.


Wiem, że masz na myśli dowolny program, ale czy możesz powiedzieć, który program dokładnie?

Odpowiedzi:


22

Możesz użyć dpkglub apt-cache.

Aby sprawdzić wersję bash, na przykład:

dpkg -l bash

apt-cache show bash

Dla tych, którzy szukają tylko ogólnych odpowiedzi na Linuksa, odpowiednikiem powyższego dla RHEL / CentOS / Fedora (i podobnych) byłoby yum requires <file>np. yum requires ssh-keygenDałoby ci twoją wersję openSSH.
SeldomNeedy

1
@SeldomNeedy - mniam jest amortyzowany w Fedorze, Fedora używa dnf. Centos / RHEL wciąż na mniam.
Panther

7

Jeśli program nie ma żadnej opcji wiersza polecenia wyświetlającej informacje o wersji, możesz spróbować użyć dpkgtej wersji pakietu, która zwykle zawiera wersję programu.

dpkg -S "$(which YOUR_PROGRAM)"

wypisuje paczkę zawierającą YOUR_PROGRAM i

dpkg --status YOUR_PACKAGE | grep ^Version

drukuje wersję YOUR_PACKAGE.

Możesz to wszystko połączyć:

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

Użyj go na przykład w następujący sposób ls:

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

1
Jako sugestia. Umieść wszystko w funkcji i załaduj, gdy uruchomi się powłoka.
Zoke

1

Możesz użyć, dpkg-queryaby uzyskać wersję pakietu:

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

Aby uzyskać tylko ciąg wersji:

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

0

Poniższe polecenie podaje również dokładnie zainstalowaną wersję pakietu.

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

Przykład

$ 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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.