【问题标题】:why does windows have so many shells and command line interfaces? [closed]为什么windows有这么多的shell和命令行界面? [关闭]
【发布时间】:2018-03-10 20:08:25
【问题描述】:

我最近从 MacOSX 切换到 Windows,并且在使用 OSX 终端方面拥有丰富的经验,我对 Windows 中有这么多不同的 CLI 感到惊讶。具体来说,似乎除了 cmd.exe 和 powershell 之外,当我安装了一些需要使用 CLI 的程序时,它们都会创建自己的 CLI,即 git cmd、git bash 等。

我习惯于在一个应用程序(终端)中处理我的所有项目/任务,并且在不同的 CLI 之间为各种任务切换是令人讨厌和混乱的。

我不确定我问的问题是否正确,所以如果您需要其他问题,请告诉我...... ' 不断在 CLI 之间切换以满足不同的需求,或者使用一个 CLI(即 powershell)达到一个点是否合理?如果是这样,我应该调查什么?

提前致谢!

【问题讨论】:

  • cmd 是旧的“dos”批处理机制,powershell 是新的批处理机制。他们添加了linux subsystem,因此您可以像在 Mac 上习惯的那样使用 bash。
  • 我怀疑你有使用 bash 来使用 Git。 “git cmd”是什么意思?那只是打开cmd窗口的快捷方式吗?
  • ... 你可以在 cmd 中做的所有事情,你应该可以在 Powershell 中做,尽管我承认我还没有开始学习它。大多数命令行工具都可以使用其中任何一种,尽管它们通常提供 Bash shell 只是因为他们认为它更好。

标签: windows git shell powershell command-line-interface


【解决方案1】:

标准 Cmd/Windows 命令窗口基本上是您向后兼容的 Windows 外壳,它将运行专门为其开发的所有内容,包括 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 上,并且应该与 Linux Bash shell 没有什么不同,如果你碰巧喜欢它而不是 Windows Cmd,所有基本的命令差异。

所以我不会说有“这么多”不同的终端。 Unix/Linux 也有许多不同的风格(C-shell、Bash、Ksh 等)。普通用户很少需要 Powershell(根据 cmets,开发人员更多),运行 Git 不需要 Git Bash。

更多的选择不是更好吗 - 使用你喜欢的? :)

【讨论】:

  • 完全相反。谁会在 2017 年使用 cmd? cmd是个笑话。但是普通用户显然不使用 shell,但这不是我们在这里讨论的内容
  • “它的核心操作实际上运行在迷你 Linux 安装上”是不正确的:GfW 是一个使用原生 Win32 API 的原生 Windows 端口。话虽如此,Git 的某些部分确实依赖于 POSIX shell 脚本并期望存在某些命令行工具(例如sed 或awk)。其他一些部分是在 Perl (git svn) 中实现的,而其他一些部分是在 Tcl/Tk(库存 GUI 工具)中实现的。不过,这与 Linux 无关,Linux 是兼容 POSIX 的操作系统内核。
  • @kostix 同意你的观点。我会更新的。
  • @4c74356b41 对我来说主要是习惯,虽然当我开始使用 Docker 和其他东西时,我开始默认使用 Powershell ......不过这很公平。
猜你喜欢
  • 2016-03-12
  • 2013-04-02
  • 1970-01-01
  • 2013-11-19
  • 1970-01-01
  • 2010-10-17
  • 2017-04-18
  • 2010-09-05
相关资源
最近更新 更多