📅  最后修改于: 2023-12-03 15:40:30.892000             🧑  作者: Mango
在 Linux 系统中,有众多的 Linux 发行版可供选择,如 Ubuntu、Debian、CentOS、Fedora 等等。当你在编写 Shell 脚本时,有时候需要根据当前操作系统的发行版采取不同的逻辑,这时候,你就需要检查当前的 Linux 发行版了。本文将介绍如何检查当前的 Linux 发行版。
lsb_release 命令是用于显示 Linux Standard Base (LSB) 系统信息的命令,该命令可以在绝大多数 Linux 发行版中使用。使用 lsb_release 命令可以获取到当前 Linux 发行版的名称、版本号等信息。
lsb_release -a
输出示例:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS
Release: 20.04
Codename: focal
在输出结果中,Distributor ID 表示 Linux 发行版的名称,Description 表示发行版的详细描述,Release 表示发行版的版本号,Codename 表示发行版的代号。
在 Linux 系统中,/etc/os-release 文件存储着当前操作系统的信息,它包含了 Linux 发行版的名称、版本号等信息,以及其它一些系统属性。你可以使用 Shell 脚本读取 /etc/os-release 文件获取当前操作系统的信息。
source /etc/os-release
echo $NAME
echo $VERSION_ID
输出示例:
Ubuntu
20.04
在输出结果中,$NAME 表示 Linux 发行版的名称,$VERSION_ID 表示版本号。
/ect/issue 文件是当前操作系统的信息文件,它是一个纯文本文件,记录了操作系统的名称,版本号等信息。你可以使用 Shell 脚本读取 /etc/issue 文件获取当前操作系统的信息。
cat /etc/issue
输出示例:
Ubuntu 20.04 LTS \n \l
可以看到输出结果中包含了 Linux 发行版的名称和版本号。
uname 命令可以获取到当前操作系统的内核信息,通过它你也可以获取到当前操作系统的发行版信息。这里需要注意的是,uname 命令获取到的是内核信息,而不是发行版信息,因此它并不能像前面的方法那样获取到发行版的详细信息。
uname -a
输出示例:
Linux ubuntu 5.11.0-25-generic #27~20.04.1-Ubuntu SMP Tue Jul 13 17:41:23 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
本文介绍了如何使用 Shell 脚本检查当前 Linux 发行版。在编写 Shell 脚本时,选用合适的检查方法可以确保你的脚本在不同的 Linux 发行版中都能够正常运行。具体方法可以根据自己的需要进行选择。