我正在尝试在 bash 脚本中创建操作系统检测可移植函数,
所以我只是想知道,该文件"/etc/issue"
对于所有 Linux 风格都是通用的?
答案1
是的,这是跨发行版的标准文件。它是大多数发行版(Fedora/CentOS/RHEL/Debian/Ubuntu 等)的标准配置。
您可以阅读有关它的更多信息man issue
或其关联文件/etc/issue.net
。您可以看到issues.net 手册页了解更多详细信息以及如何将宏包含到这两个文件中。
您还可以在Linux 从头开始项目,使用 /etc/issue 自定义您的登录。
答案2
除了 slm 的答案之外,值得记住的是,任何人(具有 root 访问权限)都可以编辑/etc/issue
.一些组织可能会这样做是为了提供登录前警告或免责声明,而其他组织可能出于安全原因删除所有发行版标识(无论这些措施的有效性如何)。
因此,虽然 /etc/issue 可能几乎一直存在,但内容不一定适合检测操作系统(如您所说,或更可能是 Linux 发行版)。
答案3
@EightBitTony 的答案是正确的。而且它在 Fedora 23 上默认不存在。
做不是依靠它来识别随机系统。我会使用/etc/system-release
or/etc/os-release
但不确定它有多少通用性。
阅读一点内容/etc/os-release
是附带的systemd
,所以我想它不适用于古老的发行版(或任何讨厌的发行版systemd
)。找不到有关的权威信息/etc/system-release
。我想如果兼容性很重要,就必须检查许多文件。或者/etc/os-release
如果边缘情况不重要则使用。