Hướng dẫn xác định tên OS Linux và phiên bản OS bằng Bash Shell

Hướng dẫn xác định tên OS Linux và phiên bản OS bằng bash shell | Chào các bạn, hôm nay chúng ta sẽ điểm qua một bài note nhỏ về việc code bằng bash shell. Với nội dung “làm thế nào để xác định tên OS Linux phổ biến như CentOS, Ubuntu, Debian và xác định thông tin phiên bản OS“.

Gnu-bash-logo

Đầu tiên ta cần lưu ý các file chứa thông tin tên OS
CentOS : /etc/redhat-release
Ubuntu : /etc/lsb_release
Debian : /etc/debian_version

Kế đến là lệnh có thể hỗ trợ hiển thị tên OS và phiên bản OS.
CentOS: rpm
Ubuntu/Debian: lsb_release

Và đây là code mà mình đã code thường được tái sử dụng trong các bash shell script khác nhau của cá nhân. Các bạn có thể tham khảo, vì có khi bạn có cách code hay hơn thì sao ;).

+ Link Code Githubhttps://github.com/cuongquach/my-bash-shell-collection/blob/master/os/check-os-version.sh

#!/bin/bash

OS_DISTRO="unknown"
OS_DISTRO_VER="unknown"

# Check OS Distro and Version
if [[ -f /etc/redhat-release ]];then
    OS_DISTRO="Centos"
    OS_DISTRO_VER=$(grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release)

elif [[ -f /etc/lsb-release ]]; then
    OS_DISTRO="Ubuntu"
    OS_DISTRO_VER="$(grep "DISTRIB_RELEASE" /etc/lsb-release | awk -F'=' '{print $2}' | sed 's/[[:blank:]]//g')"

    if [[ -z ${OS_DISTRO_VER} ]] || [[ ${OS_DISTRO_VER} == "" ]];then
        OS_DISTRO_VER=$(lsb_release -a | grep -i "Release" | awk -F':' '{print $2}' | sed 's/[[:blank:]]//g')
    fi

elif [[ -f /etc/debian_version ]]; then
    OS_DISTRO="Debian"
    OS_DISTRO_VER="$(cat /etc/debian_version | sed 's/[[:blank:]]//g')"

    if [[ -z ${OS_DISTRO_VER} ]] || [[ ${OS_DISTRO_VER} == "" ]];then
        OS_DISTRO_VER=$(lsb_release -a | grep -i "Release" | awk -F':' '{print $2}' | sed 's/[[:blank:]]//g')
    fi
fi

echo $OS_DISTRO
echo $OS_DISTRO_VER

exit 0

Đơn giản phải không nào. Hy vọng hữu ích đối với các bạn khi code bash shell để xác định  OS và phiên bản OS nhằm tự động hoá tác vụ.

Nguồn: https://cuongquach.com/

Previous articleEbook Designing Distributed Systems (PDF)
Next articleCấu hình GRE Tunnel giữa 2 máy chủ Linux
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !