2016-02-06 87 views
2

如何使用bash腳本查找操作系統?我找到了這個答案:Detect the OS from a Bash script。目前還不清楚它可以在Mac OS X上運行。Shell腳本查找本機的操作系統

我想在Mac OS X上發現它與不同的Linux操作系統。

+0

在Mac OS X上,'uname'報告'Darwin',與報告'Linux'的Linux不同。你還需要知道什麼? –

+0

uname -a在我的Mac上找到作品。看看這個:http://unix.stackexchange.com/questions/88644/how-to-check-os-and-version-using-a-linux-command – melis

+0

感謝您的建議。 – ssk

回答

2

,這個工作對我來說:

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 
} 
5

對於Linux,你可以在下面的bash命令輸入:

$ cat /etc/*-release 

對於Mac OS X,你可以嘗試下列命令之一:從其他答案衍生

$ sw_vers -productVersion 
$ system_profiler SPSoftwareDataType