当我在 MobaXterm 中创建本地 shell 会话并选择 CMD“终端 shell”时,MobaXterm 路径%USERPROFILE%\Documents\MobaXterm\slash\bin
会添加到我的完整路径前面。这会破坏我的多个程序,例如 Vim、Python、git 和 ssh。我已在系统上安装了这些程序,它们可以在正常命令提示符下正常运行。
但是,由于 MobaXterm 坚持添加自己的路径,它迫使我使用安装在 slash\bin 中的路径,而这无法正常工作。
我已经在会话的终端设置中选中了“使用 Windows PATH”框。Windows 路径可用,但任何名称冲突都会解析为 MobaXterm 的二进制文件,因为它优先出现。
有一个相关问题堆栈溢出询问为什么MobaXterm 确实会这样做,但我不在乎为什么。我只想打开本地 CMD 提示符,并使其行为与打开 cmd.exe 时的行为相同。
我在 Windows 10 上使用个人版 v9.4。
总结
如何让 MobaXterm 停止将其路径添加到本地 CMD 会话中使用的路径前面?
答案1
在 MobaXterm v10.7 中,有一行/etc/profile
(实际上是%USERPROFILE%\Documents\MobaXterm\slash\etc\profile
)内容如下:
PATH="/bin:$PATH"
删除此行应该可以实现您想要的效果。
(我没有理由认为您使用的 v9.4 有所不同。)
答案2
我遇到了同样的问题,mobaxterm 将其版本的 nslookup 放在 WSL 的前面,我能想到的唯一“修复”方法是在 ~/.bashrc 中对我的路径进行硬编码
IE:
echo $PATH
然后将输出剪切并粘贴到你的 ~/.bashrc 中并删除有问题的 mobaxterm 条目
并不理想,但有效