![为什么在终端中执行“bash”会在 Windows 10 上打开 wsl?](https://linux22.com/image/1706613/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%89%A7%E8%A1%8C%E2%80%9Cbash%E2%80%9D%E4%BC%9A%E5%9C%A8%20Windows%2010%20%E4%B8%8A%E6%89%93%E5%BC%80%20wsl%EF%BC%9F.png)
当我在终端中运行“bash”命令时,我的控制台会自动切换到“wsl”模式。为什么会发生这种情况?我该如何停止这种行为?当我运行其他内部使用 bash 的脚本时,它会导致问题,因为它尝试从 WSL 运行 bash,而我并不想这样。当我尝试在我的计算机上禁用 wsl 然后运行 bash 时,会出现错误,提示“此计算机上未启用 WSL”。 在此处输入图片描述
答案1
bash 不是 Windows 本身的一部分。它是 WSL 的一部分。(或 CygWin,或其他几种提供 bash shell 的产品。)
当您尝试在 PowerShell(或任何其他 shell)中运行任何命令(无论是 bash 还是其他命令)时,PowerShell 都会在 PATH 环境中指定的位置查找所请求程序的第一个可用副本,并且在您的情况下,WSL 版本是它找到的第一个并将执行的版本。
如果你的系统上有另一个你喜欢使用的 bash,你必须确保它的位置出现在 PATH 中前WSL 版本。