是否有一个环境变量可以提供 ubuntu 版本和内核版本?

是否有一个环境变量可以提供 ubuntu 版本和内核版本?

是否存在一个环境变量可以提供 ubuntu 的版本,另一个环境变量可以提供内核的版本?

我猜答案是否定的,因为printenv | grep 14.04什么都没有提供,但我想我还是会问,因为这可以省去我通过在脚本中运行额外命令来声明它的时间。

答案1

不可以。您必须分别使用lsb_releaseuname命令来获取 Ubuntu 和内核的版本。

$ lsb_release -sr
14.04
$ lsb_release -sc
trusty
$ uname -r
3.13.0-65-generic

或者,您可以解析某些文件,但除非您有充分的理由这样做,否则最好使用这些命令。

答案2

我喜欢所提供的所有答案,因为它们都证实了我的怀疑,但我认为执行以下操作对于我所寻找的内容会更好:

ubuntu中有一个文件:/etc/lsb-release

我现在通过查看其中的脚本才发现这/etc/update-motd.d一点/etc/update-motd.d/00-header

此文件虽然不可执行,但包含具有 ubuntu 版本信息的变量,这些变量在通过执行以下操作传递 motd 消息时运行:

[ -r /etc/lsb-release ] && . /etc/lsb-release

基本上,正如我理解的那样,如果这个文件存在并且可以读取,那么就用 bash 运行它。

因此,至少在 Ubuntu 环境中,如果我将该行包含在我的脚本中,或者仅包含该行,. /etc/lsb-release它将为我提供我需要的所有变量,而无需诉诸任何命令。

相关内容