2011-05-30 52 views
3

如何获取我目前在Cygwin下运行的Windows版本?在Cygwin中获取Windows版本

我正在维护一个在Mac,Windows和Linux发行版上运行的自动构建脚本,我需要能够检测到它当前正在运行的Windows版本。

最好我可以让它返回标准的Windows发行版名称,但某些代码可以与其他代码分开,这也是很棒的。

我想知道的是如果我正在运行7,XP,Server 2008等。

帮助,点子?

回答

4

像这样:

[email protected] ~ 
$ echo `cmd /c ver` 
Microsoft Windows XP [Version 5.1.2600] 

[email protected] ~ 
$ 
+0

完美,尽管Win7上是没有给 “Mirosoft Windows 7的”,但至少应代码是存在的,版本我相信Windows的6个都是Win7。 感谢 – Sedrik 2011-05-30 13:44:03

7

你可以使用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

+1,因为OP使用多种环境。 – 2011-05-30 14:05:24

6

您可以将它从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