2011-05-30 88 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