【发布时间】:2016-12-15 23:54:07
【问题描述】:
bash 脚本能否检测它是在“Windows 上的 Ubuntu”还是在本机 Ubuntu 中运行?如果有,怎么做?
我在两台机器上运行env 并没有看到任何明显的环境变量差异。我可以测试/mnt/c 目录是否存在,但这并不是万无一失的,因为该目录也可能存在于本机 Ubuntu 上。
【问题讨论】:
-
'uname -a' 报告什么?
-
uname -aWindows 上 Ubuntu 的输出:Linux COMPUTER 3.4.0+ #1 PREEMPT Thu Aug 1 17:06:05 CST 2013 x86_64 x86_64 x86_64 GNU/Linux -
github.com/microsoft/WSL/issues/423 回答了这个问题,
/proc/sys/kernel/osrelease是来自内核的字符串,所以它不依赖于发行版和最可靠的方式。
标签: bash windows-subsystem-for-linux