Git bash和WSL有什么区别

时间:2019-09-19 17:51:20

标签: bash git git-bash windows-subsystem-for-linux

我刚刚在Windows机器上安装了Git SCM。我的机器较早安装了Node。我可以在git bash中使用node -v。但是,为什么我能够在Git Bash中而不是WSL Bash中使用Windows应用程序。

内部WSL重击-

hello@comp:~$ node -v

Command 'node' not found, but can be installed with:

sudo apt install nodejs

内部Git Bash-

hello@comp MINGW64 
$ node -v
v12.10.0

2 个答案:

答案 0 :(得分:2)

WSL是类似于Linux的兼容性层。您在WSL之上运行Linux应用程序,他们认为它们在Linux上本地运行,而系统调用正在转换为Windows OS系统调用(WSL2-尚未发布-是在Windows内部运行的完整Linux内核)。您确实可以通过/ mnt / c / ...访问Windows文件,但是就Windows-Linux互操作性而言,这就是您可以期望的。

另一方面,

Git-bash是 Windows 应用程序-运行Windows应用程序的外壳。其中一些可以使用Linux兼容 library (Cygwin)进行编译。但是他们不必如此。这样提供的“ Linux风格”经验较少,但是如果您只需要一些Linux命令行工具并且不需要安装成熟的Linux可执行文件,则可能是一个不错的折衷方案。

答案 1 :(得分:-1)

两个“环境”的PATH定义都不相同。检查节点的目录是否显示在Git bash上,而不显示在WSL Bash中。在两种环境中都运行此程序:

echo $PATH