Detect “Ubuntu on Windows” vs native Ubuntu from bash script [duplicate]

It looks like /proc/version in Ubuntu on Windows contains:

Linux version 3.4.0-Microsoft ( (gcc version 4.7 (GCC) ) #1 SMP PREEMPT Wed Dec 31 14:42:53 PST 2014

and my version of Ubuntu has:

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

This code is working for me to detect which version of Ubuntu the script is running on:

if grep -qi microsoft /proc/version; then
  echo "Ubuntu on Windows"
  echo "native Linux"

Leave a Comment