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

vin*_*ham 4 linux bash ubuntu

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

lsb_release -ar | grep -i release | cut -s -f2
Run Code Online (Sandbox Code Playgroud)

不需要的输出:

No LSB modules are available.                                                                                                
18.04 
Run Code Online (Sandbox Code Playgroud)

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

JoK*_*oKi 6

通过搜索结果偶然发现了这一点。以下在您的系统中不起作用吗?

$ lsb_release -sr
20.04
Run Code Online (Sandbox Code Playgroud)

这给了你short release输出。

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

export RELEASE=$(lsb_release -sr)
Run Code Online (Sandbox Code Playgroud)

应该完全按照您的需要做,还是?

  • 确认后,它确实抑制了该消息并仅显示版本号。OP 获取不需要的信息的原因是未安装包 `lsb-core`。 (2认同)

Ste*_*itt 5

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

lsb_release -ar 2>/dev/null | grep -i release | cut -s -f2
Run Code Online (Sandbox Code Playgroud)