非常简单,确定您所使用的操作系统的通常位置似乎与 Ubuntu for Windows 上的普通 Ubuntu 相同。例如uname -a
与本机 GNU/Linux 安装相同并且/etc/os-version
与 Ubuntu Trusty Tahr 安装相同。
我唯一能想到的就是检查是否/mnt/c/Windows
存在,但我不确定这是否是一个万无一失的想法。
以下内容适用于 Windows 10、macOS 和 Linux 上的 bash:
#!/bin/bash
set -e
if grep -qEi "(Microsoft|WSL)" /proc/version &> /dev/null ; then
echo "Windows 10 Bash"
else
echo "Anything else"
fi
您需要检查“Microsoft”和“WSL”这条评论 https://github.com/Microsoft/WSL/issues/423#issuecomment-221627364作者:Ben Hillis,WSL 开发人员:
就目前而言,这可能是最好的方法。我不能
承诺我们永远不会更改这些 ProcFs 文件的内容,但是
我认为我们不太可能将其更改为不这样做的东西
包含“Microsoft”或“WSL”。
/proc/sys/kernel/osrelease
/proc/version
并且应忽略大小写grep
。在 WSL2 中,/proc/version
给出小写的 microsoft.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)