如何从命令行获取应用程序的版本?
我想知道如何获取没有安装的程序的版本信息
--version
或-version
方法实施。
您可以使用dpkg
或apt-cache
。
要检查bash
的版本,例如:
dpkg -l bash apt-cache show bash
如果程序没有显示版本信息的任何命令行选项,您可以尝试使用dpkg
来获取通常包含程序版本的软件包版本。
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
您可以使用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
以下命令还为您提供了确切的已安装软件包版本。
apt-cache policy | 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