我正在为OS X 10.6创建一个mpkg - OS X 10.9。我想创建一个安装后脚本来检查操作系统版本并根据结果运行命令
我的伪代码是:
if the OS version is equal to or less than 10.6.8 then
--command A--
else
--command B--
fi
exit 0
如果您能提供任何帮助,我将不胜感激。
答案 0 :(得分:1)
您可以使用sw_vers -productVersion
获取操作系统版本 - 这将打印类似“10.8.5”的内容。但是,这可能不是直接比较的。当Apple发布Mavericks的继任者时,它可能被编号为10.10,而“10.10”的文本小于“10.6.8”(因为“1”<“6”)。您可以将版本字符串解析为其组件并以数字方式比较元素(请参阅this previous question),但这相当混乱。
使用uname -r
检查Darwin版本可能更容易 - 它会打印类似“12.5.0”的内容,它实际上与操作系统版本相对应,但在nontrivial way中<: / p>
...但这对于主要版本比较来说实际上更容易,因为您只需查看第一个数字即可获得主要版本:
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