'lsb_release -a'在 bash 脚本中使用它时打印一行附加行



我正在编写一个bash脚本,该脚本有一个子任务,即打印系统运行的Ubuntu名称。我做到了:

ubuntu_ver=$(lsb_release -a | grep Description | cut -d":" -f2)
echo $ubuntu_ver

Ubuntu 12.04 LTS被存储在变量Ubuntu_ver中,但在顶部打印了额外的一行。输出为:

No LSB modules are available.
Ubuntu 12.04.4 LTS

如何防止"无LSB模块…"防止被打印
事实上,每当我试图通过命令"lsb_release-a"将某些内容存储在变量中时,这一行就会被打印出来。

事实上,每当我试图将东西存储在来自命令lsb_release -a的变量

这表明有问题的行实际上是一条错误消息。丢弃:

ubuntu_ver=$(lsb_release -a 2>/dev/null | grep Description | cut -d":" -f2)

-a包括-v,它返回lsb模块的列表,这就是为什么您会收到未找到任何模块的消息。

此外,我建议只询问描述(-d)并省略标题(-s):

ubuntu_ver=$(lsb_release -ds)
echo $ubuntu_ver

相关内容

  • 没有找到相关文章

最新更新