我有一个用于在 Ubuntu 中运行的旧脚本。 现在,我有一台 Mac,想重用该脚本。
有谁知道在 Mac OS 中以下命令等同于什么?
def runCmd(cmd):
p = subprocess.Popen(cmd,
shell=True,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
close_fds=True)
result=p.stdout.readlines()
s=result[0].split()[0]
return s
def getKernelVer():
cmd="uname -r| cut --delim=\'.\' -f1-2"
return runCmd(cmd)
def getUbuntuVer():
cmd="lsb_release -a | grep Release | cut -f 2"
return runCmd(cmd)
谢谢
最佳答案
uname -r
在 Darwin 下的工作方式相同。内核版本不是大多数人谈论或关心的东西,但它就在那里。唯一的问题是 cut
不支持 --delim
长选项,所以,试试这个:
uname -r | cut -d. -f1-2
不过,Darwin 的内核版本控制与 Linux 的完全不同,因此此处运行 cut
的目的尚不清楚。 (事实上 ,在 Linux 上也不太清楚,因为版本控制方案随着 3.0 版发生了重大变化。)
要获取当前版本的 Mac OS(大致相当于您为 Ubuntu 获取的“发行版”),您可以使用以下命令:
sw_vers -productVersion
关于python - 在 OS X 上获取操作系统版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14802694/