has - Detecte "Ubuntu en Windows" vs Ubuntu nativo desde el script bash
windows subsystem for linux windows 10 (1)
Parece que /proc/version
en Ubuntu en Windows contiene:
Linux version 3.4.0-Microsoft ([email protected]) (gcc version 4.7 (GCC) ) #1 SMP PREEMPT Wed Dec 31 14:42:53 PST 2014
y mi versión de Ubuntu tiene:
Linux version 4.4.0-31-generic (buildd@lgw01-16) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1) ) #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016
Este código me funciona para detectar en qué versión de Ubuntu se está ejecutando el script:
if grep -q Microsoft /proc/version; then
echo "Ubuntu on Windows"
else
echo "native Linux"
fi
Esta pregunta ya tiene una respuesta aquí:
¿Puede un script bash detectar si se está ejecutando en "Ubuntu en Windows" frente a Ubuntu nativo? ¿Si es así, cómo?
Corrí env
en ambas máquinas y no vi ninguna diferencia de variable ambiental evidente. Podría probar la existencia del directorio /mnt/c
, pero eso no es infalible porque ese directorio también podría estar presente en Ubuntu nativo.