我尝试编写一个脚本来获取我的发行版的版本,以便我可以将它传递给一个变量。以下命令是我为实现结果而编写的。
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
命令之外,我不想安装任何额外的包。
通过搜索结果偶然发现了这一点。以下在您的系统中不起作用吗?
$ lsb_release -sr
20.04
Run Code Online (Sandbox Code Playgroud)
这给了你short release
输出。
当你写你想要一个变量时。
export RELEASE=$(lsb_release -sr)
Run Code Online (Sandbox Code Playgroud)
应该完全按照您的需要做,还是?
该消息被发送到标准错误,因此将其重定向到/dev/null
将摆脱它(以及由 产生的任何其他错误消息lsb_release
):
lsb_release -ar 2>/dev/null | grep -i release | cut -s -f2
Run Code Online (Sandbox Code Playgroud)