cygwin - instalar - install apt-cyg
¿Cómo puedo saber si mi instalación Cygwin es de 32 o 64 bits? (4)
Ejecuta uname -m
. Si su instalación de cygwin es de 64 bits, la salida será x86_64
. Si es de 32 bits, en su lugar verá i386
, i486
, i586
o i686
.
¿Cómo puedo saber si mi instalación Cygwin es de 32 o 64 bits? No recuerdo qué setup.exe descargar. Y odiaría estropear mi instalación cygwin.
Las otras respuestas abordan la pregunta del OP, pero si usted es como yo y usa los dos sabores de Cygwin, es útil saber cuál está usando para algo más que ejecutar setup.exe. Si sé que mi script se ejecuta en Cygwin, prefiero
uname -m
porque me da solo "x86_64" o "i686" como salida. Puedo usar eso en un bloque "if" como este:
if [ $(uname -m) == "x86_64" ]; then do something; fi
Por supuesto, también puede usar "uname -a" con "grep" en una declaración if. Es una cuestión de preferencia personal.
NateT da el comando correcto para "imprimir el nombre del hardware de la máquina" de acuerdo con "uname --help":
uname -m
Obtengo "x86_64" o "i686", pero ¿quién sabe si esas cadenas cambiarán? Aquí está toda la salida de "uname -a". El WOW64 le dice que es Cygwin de 32 bits en Windows de 64 bits. En 32 bits no tienes elección, ¿verdad? ; -)
$ uname -a
CYGWIN_NT-6.1-WOW64 Pegasus 1.7.32(0.274/5/3) 2014-08-13 23:03 i686 Cygwin
Actualización: (gracias a TheDrake). Irónicamente, desde febrero de 2015, el WOW64 en la cadena ha cambiado a WOW , por lo que aunque comprobar WOW probablemente sea seguro, parece que el "nombre del hardware de la máquina" podría ser más seguro que el "nombre del kernel" ".
Parece que Cygwin considera seriamente la compatibilidad con versiones anteriores de acuerdo con ese hilo, pero también nota que bajo MSYS2 necesitaría depender del "nombre del hardware de la máquina" de todos modos y no del "nombre del kernel":
$ uname -a
MSYS_NT-6.1 Pegasus 2.5.0(0.295/5/3) 2016-03-15 11:29 x86_64 Msys
uname -m
Y debería decir x86_64
en la salida si es de 64 bits, o i686
si es de 32 bits.