要在 shell 脚本中判断当前系统是否为 CentOS 9,可以使用如下命令:
bash
#!/bin/bash
# 获取系统发行版及版本信息
os_distribution=$(lsb_release -i | awk -F: '{print $2}' | tr -d ' ')
os_version=$(lsb_release -r | awk -F: '{print $2}' | tr -d ' ')
# 判断系统是否为 CentOS 9
if [[ "$os_distribution" == "CentOS" && "$os_version" == "9" ]]; then
echo "当前系统为 CentOS 9"
else
echo "当前系统不是 CentOS 9"
fi
这段脚本首先使用 lsb_release
命令获取系统的发行版信息(-i
参数)和版本信息(-r
参数)。然后通过 awk
和 tr
命令清理输出,提取出纯净的发行版名称 (os_distribution
) 和版本号 (os_version
)。
接着,使用条件语句 if
判断 os_distribution
是否等于 "CentOS"
并且 os_version
是否等于 "9"
。如果满足这两个条件,则输出提示当前系统为 CentOS 9;否则,输出提示当前系统不是 CentOS 9。
注意事项:
-
上述脚本依赖于
lsb_release
命令,该命令通常预装在基于 LSB(Linux Standard Base)标准的发行版中,包括 CentOS。如果您的系统没有预装lsb_release
,您可能需要先安装它(通常可以通过包管理器如yum
或dnf
安装)。 -
如果您的系统不支持
lsb_release
命令或者出于某种原因无法使用,可以考虑使用其他方式获取系统信息,如解析/etc/os-release
文件或查询/etc/redhat-release
(对于 CentOS)等。 -
CentOS 9 在撰写此回答时尚未正式发布,以上脚本针对未来可能出现的 CentOS 9 版本进行了假设。在实际使用时,请确保
os_version
的判断部分与实际 CentOS 9 发布的版本号相匹配。