如何获取我目前在Cygwin下运行的Windows版本?在Cygwin中获取Windows版本
我正在维护一个在Mac,Windows和Linux发行版上运行的自动构建脚本,我需要能够检测到它当前正在运行的Windows版本。
最好我可以让它返回标准的Windows发行版名称,但某些代码可以与其他代码分开,这也是很棒的。
我想知道的是如果我正在运行7,XP,Server 2008等。
帮助,点子?
如何获取我目前在Cygwin下运行的Windows版本?在Cygwin中获取Windows版本
我正在维护一个在Mac,Windows和Linux发行版上运行的自动构建脚本,我需要能够检测到它当前正在运行的Windows版本。
最好我可以让它返回标准的Windows发行版名称,但某些代码可以与其他代码分开,这也是很棒的。
我想知道的是如果我正在运行7,XP,Server 2008等。
帮助,点子?
像这样:
[email protected] ~
$ echo `cmd /c ver`
Microsoft Windows XP [Version 5.1.2600]
[email protected] ~
$
你可以使用uname -s
和比较的输出:
NT-5.0 = W2000
NT-5.1 = XP
NT -6.0 = Vista
NT-6.1 = W7
我运行Windows 7 64位,所以我的输出是: CYGWIN_NT-6.1-WOW64
。你可以看到更多的信息here。
+1,因为OP使用多种环境。 – 2011-05-30 14:05:24
您可以将它从Windows systeminfo
实用程序中刷出。
systeminfo | grep '^OS'
唯一的操作系统名称:
systeminfo | sed -n 's/^OS Name:[[:blank:]]*//p'
例子:
$ systeminfo.exe | grep '^OS'
OS Name: Microsoft Windows 7 Home Premium
OS Version: 6.1.7601 Service Pack 1 Build 7601
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Workstation
OS Build Type: Multiprocessor Free
$ systeminfo | sed -n 's/^OS Name:[[:blank:]]*//p'
Microsoft Windows 7 Home Premium
完美,尽管Win7上是没有给 “Mirosoft Windows 7的”,但至少应代码是存在的,版本我相信Windows的6个都是Win7。 感谢 – Sedrik 2011-05-30 13:44:03