我爲OS X 10.6 - OS X 10.9創建了一個mpkg。我想創建一個安裝後腳本,檢查版本的操作系統,並運行基於結果有條件的安裝後腳本
我的僞代碼是一個命令:
if the OS version is equal to or less than 10.6.8 then
--command A--
else
--command B--
fi
exit 0
我會爲你提供任何幫助表示感謝。
我爲OS X 10.6 - OS X 10.9創建了一個mpkg。我想創建一個安裝後腳本,檢查版本的操作系統,並運行基於結果有條件的安裝後腳本
我的僞代碼是一個命令:
if the OS version is equal to or less than 10.6.8 then
--command A--
else
--command B--
fi
exit 0
我會爲你提供任何幫助表示感謝。
您可以通過sw_vers -productVersion
獲得操作系統版本 - 這將打印出類似「10.8.5」的內容。但是,這可能不易直接比較。當蘋果發佈小牛的後繼者時,它可能會被編號爲10.10,而「10.10」在文本上小於「10.6.8」(因爲「1」<「6」)。您可以將版本字符串解析爲其組件,並以數字方式比較元素(請參閱this previous question),但這相當混亂。
它可能更容易與uname -r
檢查達爾文版本 - 這會打印類似「12.5.0」,這實際上就相當於操作系統的版本,但在nontrivial way:
......不過這是主要的版本比較其實更容易,因爲你可以看一下第一個號碼,以獲得主要版本:
darwin_version=$(uname -r)
if ((${darwin_version%%.*} < 11)); then # %%.* removes the first period and everything following that
# do OS X 10.6 stuff
else
# do OS X 10.7-10.9 stuff
fi
謝謝你的幫助。我需要的只是大版本,比如10.6,我不需要小部分。我會看到這對我如何解決。 – rogerFernand
可能重複http://stackoverflow.com/questions/394230/detect-the-os-from-a-bash-script – LearnCocos2D