Shell脚本查找机器的操作系统

时间:2016-02-06 03:15:31

标签: bash shell operating-system

如何使用bash脚本查找操作系统?我找到了这个答案:Detect the OS from a Bash script。目前尚不清楚它是否适用于Mac OS X.

我想在Mac OS X上找到它与不同的Linux操作系统相比。

3 个答案:

答案 0 :(得分:6)

对于Linux,您可以输入以下bash命令:

$ cat /etc/*-release

对于Mac OS X,您可以尝试以下命令之一:

$ sw_vers -productVersion 
$ system_profiler SPSoftwareDataType

答案 1 :(得分:3)

从其他答案中得出,这对我有用:

CURRENT_OS="OSX" #CENTOS, UBUNUTU are other valid options
function findCurrentOSType()
{
    echo "Finding the current os type"
    echo
    osType=$(uname)
    case "$osType" in
            "Darwin")
            {
                echo "Running on Mac OSX."
                CURRENT_OS="OSX"
            } ;;    
            "Linux")
            {
                # If available, use LSB to identify distribution
                if [ -f /etc/lsb-release -o -d /etc/lsb-release.d ]; then
                    DISTRO=$(gawk -F= '/^NAME/{print $2}' /etc/os-release)
                else
                    DISTRO=$(ls -d /etc/[A-Za-z]*[_-][rv]e[lr]* | grep -v "lsb" | cut -d'/' -f3 | cut -d'-' -f1 | cut -d'_' -f1)
                fi
                CURRENT_OS=$(echo $DISTRO | tr 'a-z' 'A-Z')
            } ;;
            *) 
            {
                echo "Unsupported OS, exiting"
                exit
            } ;;
    esac
}

答案 2 :(得分:0)

使用uname

$(uname -s)

这将为您提供操作系统名称(达尔文= OSX)

$(uname -v)

将为您提供操作系统版本

请参阅同一手册here