📜  如何知道 linux 发行版 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:53:13.511000             🧑  作者: Mango

如何知道 Linux 发行版 - Shell-Bash

以下是使用 Shell-Bash 脚本来判断当前运行的 Linux 发行版的方法。这个脚本会输出当前操作系统的发行版名称以及版本号。

#!/bin/bash

# 使用 lsb_release 来获取发行版信息
if [ -x "$(command -v lsb_release)" ]; then
    release=$(lsb_release -sd)
    codename=$(lsb_release -sc)
    printf "当前发行版: %s\n" "$release"
    printf "代号: %s\n" "$codename"
    exit 0
fi

# 判断各种主要发行版的特定文件来获取发行版信息
if [ -f "/etc/redhat-release" ]; then
    release=$(cat /etc/redhat-release)
    printf "当前发行版: %s\n" "$release"
    exit 0
elif [ -f "/etc/centos-release" ]; then
    release=$(cat /etc/centos-release)
    printf "当前发行版: %s\n" "$release"
    exit 0
elif [ -f "/etc/debian_version" ]; then
    release="Debian $(cat /etc/debian_version)"
    printf "当前发行版: %s\n" "$release"
    exit 0
elif [ -f "/etc/lsb-release" ]; then
    release=$(grep "DISTRIB_DESCRIPTION" /etc/lsb-release | cut -d "=" -f 2-)
    printf "当前发行版: %s\n" "$release"
    exit 0
fi

# 如果以上方法都无法确定发行版,则输出未知
printf "无法确定当前发行版\n"
exit 1

这个脚本首先尝试使用 lsb_release 命令来获取发行版信息。如果系统中没有安装该命令,脚本会尝试判断各个主要发行版特有的文件来获取发行版信息。如果以上方法都无法确定发行版,则输出 "无法确定当前发行版"。

你可以将以上代码保存到一个文件中(比如 get_linux_distro.sh),然后通过在终端中运行 bash get_linux_distro.sh 来执行脚本。

运行脚本后,你将看到如下输出:

当前发行版: Ubuntu 20.04.2 LTS
代号: focal

请根据实际情况对脚本进行适当修改,以适应不同的发行版和版本。

希望上述信息对你有帮助!