📜  检查 linux 发行版 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:40:30.892000             🧑  作者: Mango

检查 Linux 发行版 - Shell-Bash

在 Linux 系统中,有众多的 Linux 发行版可供选择,如 Ubuntu、Debian、CentOS、Fedora 等等。当你在编写 Shell 脚本时,有时候需要根据当前操作系统的发行版采取不同的逻辑,这时候,你就需要检查当前的 Linux 发行版了。本文将介绍如何检查当前的 Linux 发行版。

方法一:lsb_release

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 表示发行版的代号。

方法二:/etc/os-release

在 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 表示版本号。

方法三:/etc/issue

/ect/issue 文件是当前操作系统的信息文件,它是一个纯文本文件,记录了操作系统的名称,版本号等信息。你可以使用 Shell 脚本读取 /etc/issue 文件获取当前操作系统的信息。

cat /etc/issue

输出示例:

Ubuntu 20.04 LTS \n \l

可以看到输出结果中包含了 Linux 发行版的名称和版本号。

方法四:uname

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 发行版中都能够正常运行。具体方法可以根据自己的需要进行选择。