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