在Windows版Git的安装路径中,。/ git-bash.exe和bin / bash.exe和bin / sh.exe有什么区别?

时间:2018-12-30 19:21:39

标签: git git-bash

在git for Windows的安装路径中,我找到了这3个exe:

./git-bash.exe

./bin/bash.exe

./bin/sh.exe

启动它们中的任何一个都会给我一个可用的终端。

第一个是安装创建的开始菜单中的默认快捷方式,第二个在VSCode文档中用于在VSCode中设置集成终端,第三个在ConEmu文档中提到。

它们之间有什么区别,我应该使用哪个?

3 个答案:

答案 0 :(得分:0)

git-bash是“ Git for Windows”的一部分,并提供类似于* nix bash的命令行环境。

Windows 10包括“ Windows子系统”,可以在Windows内部提供Linux环境(包括shbash,可以在Difference between sh and bash进行简短比较)

您可以将其中任何一个用于git。与您的同事一起使用可能是一个优势(如果您需要有关Shell或脚本的任何帮助)。

答案 1 :(得分:0)

Bourne-Again Shell或bashsh的超集,也就是说,您在sh中可以执行的任何操作也可以在bash中完成。 Bash具有more features,可以更轻松地编写脚本。

另一方面,Git bashmsys中包含的Git for Windows shell,因为Windows本身不支持bash功能(除非您添加Windows Sub-sytem for Linux)。

答案 2 :(得分:0)

“ shell”是命令的解释器。当您在cmd和bash中键入相同的内容时,结果是不同的,因为它们是不同的解释器。示例包括cmdpowershellshbashzsh等(bashzsh都是更强大的版本(sh)。在Windows上,这些shell作为.exe文件存在。双击它们将启动一个CLI窗口。此窗口是Windows提供的最低终端应用程序,没有正式名称。

“终端应用程序”是模拟过去的终端机的应用程序(带有监视器和键盘的设备,可让您与大型计算机进行通信)。它们提供了更好的UI功能,例如选项卡等。终端应用的示例包括Git BashConEmuVSCode中的终端,新的Window Terminal等。您可以打开其中的任何外壳。

回到原始问题:sh.exebash.exe是shell。如果您拥有自己的首选终端应用程序,则将使用它们。 git-bash.exe是一个终端应用程序(一个非常基本的应用程序,名称为“ mintty”),它将自动打开bash shell。如果您拥有自己的首选终端应用程序(例如ConEmu或新的Windows Terminal),则无需使用git-bash.exe。但是,git-bash.exe确实包含一些环境设置。为了在您首选的终端中启动bash.exe的最佳方法,您可以从ConEmu Doc那里获得一些启发。