Comment puis-je obtenir la version Windows que je suis en cours d'exécution sous Cygwin? p>
Je maintenez un script de construction automatique qui fonctionne sur Mac, Windows et Linux Distributions et je dois pouvoir détecter la version de Windows utilisée en cours. P>
De préférence, j'aurais pu renvoyer le nom standard de la version Windows, mais une sorte de code que je peux séparer des autres serait aussi super. P>
Ce que je veux savoir, c'est si je cours 7, XP, Server 2008 et ainsi de suite. P>
aide, idées? p>
3 Réponses :
Comme ceci:
eh@winxpsp3 ~ $ echo `cmd /c ver` Microsoft Windows XP [Version 5.1.2600] eh@winxpsp3 ~ $
Parfait, même si sur Win7 qui n'a pas donné le "Microsoft Windows 7" mais au moins, le code est là et la version 6 de Windows est toutes Win7, je crois. Merci
Cela ne fonctionne que dans certains cas, car votre commentaire montre. Je sais que je couronne Windows8, version 6.2.9200 sous mon cygwin. Cette réponse renvoie simplement: Microsoft Windows [version 6.2.9200] code> @sedrik, note que cela indique que pas i> toutes les fenêtres avec la version 6 est Windows 7. Une autre note rapide: i penser des backtsticks sont obsolètes; Il faut utiliser
$ echo $ (cmd / c ver) code>. (Pour moi
$ cmd / c ver code> a donné la même sortie, moins un espace de tête.) Voir la réponse @costa donnée pour plus d'informations (y compris quelque chose qui lit "Windows 8" pour moi.).
Vous pouvez utiliser NT-5.0 = W2000 P>
NT-5.1 = XP P>
NT-6.0 = VISTA P>
NT-6.1 = W7 P>
blockQuote>
Je couronne Windows 7 64 bit, alors ma sortie est la suivante:
uname -s -s code> et comparer la sortie à ceci: p>
CYGWIN_NT-6.1-WOW64 code>. Vous pouvez voir plus d'informations ici . P>
+1 Pour une réponse portable, puisque OP utilise plusieurs environnements.
Vous pouvez le grep it of the Windows Nom du système d'exploitation uniquement: P> Systeminfo code> utilitaire.
$ 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
Cela devrait être la réponse choisie. La réponse acceptée (pour moi) renvoie simplement: Microsoft Windows [version 6.2.9200] code>, tandis que cette réponse renvoie tout:
Nom du système d'exploitation: Microsoft Windows 8 \ Version: 6.2.9200 N / Build 9200 \ OS Fabricant: Microsoft Corporation \ Configuration: Station de travail autonome \ OS Type de construction: MultiProcesseur GRATUIT code>. Si j'utilise le
SED CODE> Stuff, je reçois exactement cela pour lequel l'OP demandait.