Come posso ottenere la versione di un'applicazione dalla riga di comando?


20

Vorrei sapere come ottenere le informazioni sulla versione di un programma installato che non ha

--version o -version

metodo implementato.


So che intendi per qualsiasi programma, ma puoi dire quale programma esattamente?

Risposte:


22

Puoi usare dpkgo apt-cache.

Per verificare la versione di bash, ad esempio:

dpkg -l bash

apt-cache show bash

Per coloro che cercano solo risposte generali su Linux, l'equivalente di quanto sopra per RHEL / CentOS / Fedora (e simili) sarebbe, yum requires <file>ad esempio yum requires ssh-keygen, fornire la versione openSSH.
SeldomNeedy,

1
@SeldomNeedy - yum è ammortizzato su Fedora, Fedora usa dnf. Centos / RHEL ancora su yum.
Pantera,

7

Se il programma non ha alcuna opzione della riga di comando che visualizza le informazioni sulla versione, puoi provare a utilizzare dpkgper ottenere la versione del pacchetto che di solito contiene in qualche modo la versione del programma.

dpkg -S "$(which YOUR_PROGRAM)"

stampa il pacchetto che contiene YOUR_PROGRAM e

dpkg --status YOUR_PACKAGE | grep ^Version

stampa la versione di YOUR_PACKAGE.

Puoi mettere tutto insieme:

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

Usalo ad esempio in questo modo per ls:

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

1
Come suggerimento Metti tutto in una funzione e caricalo all'avvio della shell.
Zoke,

1

Puoi usare dpkg-queryper ottenere la versione di un pacchetto:

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

Per ottenere solo la stringa di versione:

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

0

Il comando seguente fornisce anche la versione esatta del pacchetto installato.

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

Esempio

$ 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.