You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

为何在Windows 10终端执行bash命令会打开WSL,如何阻止该行为?

为何在Windows 10终端执行bash命令会打开WSL,如何阻止该行为?

嗨,这个问题其实是Windows的默认设置在搞鬼:当你安装了WSL(适用于Linux的Windows子系统)后,微软会把终端里的bash命令默认关联到WSL的启动程序C:\Windows\System32\bash.exe,所以你一敲bash就自动切到WSL环境了。要是直接禁用WSL,这个关联程序就失效了,自然会弹出“WSL未启用”的报错。

下面给你几个实用的解决办法,按需选择就行:

方法一:用Windows版Bash替换(推荐)

如果平时需要用Bash但不想碰WSL,比如常用的Git Bash,你可以通过调整环境变量优先级,让系统优先找到你想要的Bash版本:

  • 右键「此电脑」→ 「属性」→ 「高级系统设置」→ 「环境变量」
  • 在「系统变量」里找到PATH,点击「编辑」
  • 找到你安装的Bash所在的bin目录(比如Git Bash一般是C:\Program Files\Git\bin),把它拖到PATH列表的最顶部
  • 保存设置后重启终端,再敲bash就会启动你指定的Bash版本了

方法二:临时/永久修改bash命令关联

先确认当前bash命令指向哪里:在终端执行

where bash

如果第一个输出是C:\Windows\System32\bash.exe,那就是WSL的启动器。你可以这样调整:

  • 临时生效(重启终端后失效):用doskey创建别名
doskey bash="C:\Program Files\Git\bin\bash.exe" $*
  • 永久生效:把上面的命令加到终端的启动脚本里(比如PowerShell的$PROFILE文件,或者cmd的自动执行脚本)

方法三:彻底移除WSL关联(谨慎操作)

要是确定不需要WSL,先卸载WSL组件(设置→应用→可选功能→找到Windows Subsystem for Linux相关组件卸载),然后安装其他Bash工具(比如Git Bash),再按方法一配置环境变量,这样bash命令就会完全指向你安装的版本了。

备注:内容来源于stack exchange,提问作者Andrii Hnatushchenko

火山引擎 最新活动