删除“没有可用的 LSB 模块”。来自“lsb_release -a”的消息

删除“没有可用的 LSB 模块”。来自“lsb_release -a”的消息

我尝试编写一个脚本来获取我的发行版的版本,以便我可以将其传递给变量。
以下命令是我为实现结果而编写的。

lsb_release -ar | grep -i release | cut -s -f2

不需要的输出:

No LSB modules are available.
18.04

如您所见,该No LSB modules are available消息是不需要的部分。
由于我更喜欢​​我的脚本可以跨服务器移植,因此除了使用该命令之外,我不想安装任何额外的软件包lsb_release -a

答案1

通过搜索结果偶然发现了这一点。以下内容不适用于您的系统吗?根据 @stephen-kitt 的建议,针对 Ubuntu 23.04 进行了更新。

$ lsb_release -sr 2>/dev/null
23.04

这给了你short release输出。

当你写下你想要一个变量时。

export RELEASE=$(lsb_release -sr 2>/dev/null)

应该做你所需要的,或者?

答案2

该消息被发送到标准错误,因此将其重定向到/dev/null将消除它(以及由 生成的任何其他错误消息lsb_release):

lsb_release -ar 2>/dev/null | grep -i release | cut -s -f2

答案3

我尝试编写一个脚本来获取我的发行版的版本

如果你想 一个简单的解决方案:

$ lsb_release -sr
22.04

lsb_release如果您的 Linux 发行版上没有:

$ (. /etc/*-release; printf '%s\n' "$DISTRIB_RELEASE";)
22.04

参考

相关内容