如何检测GOlang程序中的Linux分发?

问题描述:

我想编写独立于Linux的Linux发行版Golang代码。我需要检测哪个linux发行版,并且需要在程序中运行特定于分发版的命令。像Ubuntu中的dpkg和RHEL中的rpm -q一样。如何检测GOlang程序中的Linux分发?

您可以使用exec.Cmd运行lsb_release -auname -a并解析输出以找出分布。

Reference

+0

lsb_release会做。谢谢。其实,我一直在寻找是否有具体的功能。 – avishkar

+0

go二进制文件以'GOARCH'和'GOOS'作为输入。将没有其他可用的信息可用于它正在运行的分布。 –

+0

谢谢,我最终使用lsb_release。 – avishkar