问题描述
|
如何获得Cygwin下当前正在运行的Windows版本?
我正在维护在Mac,Windows和Linux发行版上运行的自动生成脚本,并且我需要能够检测当前正在其下运行的Windows版本。
最好让它返回标准的Windows版本名称,但是我可以将其与其他代码分开的某种代码也很棒。
我想知道的是我是否正在运行7,XP,Server 2008等。
帮助,想法?
解决方法
像这样:
eh@winxpsp3 ~
$ echo `cmd /c ver`
Microsoft Windows XP [Version 5.1.2600]
eh@winxpsp3 ~
$
, 您可以在Windowssysteminfo
实用程序中对其进行grep。
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
, 您可以使用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
。您可以在此处查看更多信息。