我最近从MacOSX切换到Windows,并且在使用OSX终端方面有很多经验,我对Windows中有多少不同的CLI感到惊讶。具体来说,似乎除了cmd.exe和powershell之外,当我安装了一些需要使用CLI的程序时,他们会创建自己的CLI,即git cmd,git bash等。
我曾经在一个应用程序(终端)中为我的所有项目/任务工作,并且在不同的CLI之间切换各种任务是令人讨厌和混乱的。
我不确定我是否提出了正确的问题,所以如果您需要另一个问题,请告诉我......:对于那些在Windows命令行工作过的人,这是正常的吗?为了满足不同需求而在CLI之间保持切换,或者使用一个CLI(即powershell)达到某一点是否合理?如果是这样,我应该考虑什么?
提前致谢!
答案 0 :(得分:1)
标准Cmd / Windows命令窗口基本上是Windows的向后兼容shell,它将运行专门为它开发的所有内容,包括DOS批处理文件等。
Powershell是一个增压的,更新的命令窗口,允许编写与组织中服务器环境的现代系统管理兼容的脚本,类似于vbscript或javascript。管理员可以运行比旧的DOS批处理文件更兼容/现代的脚本。它实际上是一种新的/独立的脚本语言,同时仍然支持大多数基本的Windows Cmd窗口命令。
Git安装Git-cmd,它基本上就像一个普通的Windows命令终端,而Git-Bash启动了一个unix风格的Bash shell,因为Git起源于Linux(以及用于Linux开发..)而且它的核心操作需要一个许多核心Linux命令,库和/或实用程序。那么Git-Bash是标准安装的一部分,基本上是一个小型的Linux安装(或者更好的措辞是兼容POSIX的吗?)并允许你直接运行很多为Git开发的工具/别名/脚本在Linux上,如果您恰好喜欢Windows Cmd,那么它应该与Linux Bash shell没有什么不同,具有所有基本的命令差异。
所以我不会说有那么多“不同”的终端。 Unix / Linux也有许多不同的风格(C-shell,Bash,Ksh等)。常规用户很少需要Powershell(根据评论,开发人员更多),Git Bash不需要运行Git。
没有更多选择更好 - 使用你喜欢的? :)