获取Cygwin的Windows版本

Sed*_*rik 6 windows bash scripting cygwin

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

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

我最好能让它返回标准的Windows版本名称,但是我可以将其他代码与其他代码分开的代码也很棒.

我想知道的是我运行7,XP,Server 2008等等.

帮助,想法?

Cos*_*sta 9

您可以将其从Windows systeminfo实用程序中删除.

systeminfo | grep '^OS'
Run Code Online (Sandbox Code Playgroud)

仅限OS名称:

systeminfo | sed -n 's/^OS Name:[[:blank:]]*//p'
Run Code Online (Sandbox Code Playgroud)

例:

$ 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
Run Code Online (Sandbox Code Playgroud)


key*_*rdP 8

您可以使用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.您可以在此处查看更多信息.


Ekk*_*ner 5

像这样:

eh@winxpsp3 ~
$ echo `cmd /c ver`
 Microsoft Windows XP [Version 5.1.2600]

eh@winxpsp3 ~
$
Run Code Online (Sandbox Code Playgroud)