为什么 Windows 没有更多原生的命令行 shell?

为什么 Windows 没有更多原生的命令行 shell?

据我所知,Windows 上唯一的原生命令行 shell 是:

  • 命令提示符
  • 电源外壳

我知道还有其他的,比如 Git Bash 和 Bash with Cygwin,但它们需要 Cygwin、MinGW 或 WSL 等工具才能运行,此外,它们会修改根目录以具有 Linux 文件结构,然后“安装”Windows 驱动器。还有其他的吗?本国的命令行 shell 适用于 Windows?如果没有,原因何在?

答案1

不,没有其他原生 shell,因为 Windows 是闭源的,他们从未觉得有必要创建其他 shell。谢天谢地,你生活在后 Powershell 时代,因为 10 年前 Powershell 才刚刚起步,功能还远没有那么强大。在此之前,我们只能使用 VDM(cmd)。

大多数 *nix shell 都是人们的研究生项目(同样的原因,像空格BrainF%^$存在)。还要注意的是,*nix 自 60 年代末就已经存在,并且多年来许多非常特殊的开发人员已经实现了它们。

Windows 中自带了一些脚本解释器,例如卫生/卫生,但它们实际上并不是独立的shell,它们只是在CMD或PS中运行。

答案2

听起来,你所说的 Native 实际上并不是指本机,而是您的意思是,不一定来自微软,您的意思是不是基于 Linux。

曾经有一个名为 4DOS 的东西(可能不适用于 Windows),但后来出现了 4NT。还有一种叫做“Take Command”的东西。我不确定 4NT 和“Take Command”之间的区别。人们可能不再使用它们了。即使在那时,人们也很少使用它们。

https://jpsoft.com/all-downloads/previous-versions.html

答案3

Windows 还存在其他 shell。例如,汉密尔顿 C 壳牌。它是 UNIX C shell 的本地 Win32 实现。创建者,妮科尔汉密尔顿,是前微软员工和超级用户成员

答案4

有,可能是还没有得到足够的宣传?

还有另一个适用于 Windows 的 Bash shell,来自直接的 W32 端口。不是 WSL,不是 VM,不是 Cygwin。它甚至可以处理驱动器号。我在共享驱动器上的 VM 中经常使用它,而其他解决方案无法工作。它有点旧了,也许这就是它被遗忘的原因:

https://sourceforge.net/projects/win-bash/

尤里·谢尔

不过,我真的推荐 Yori shell(我认为是以 Tron 角色命名的):

Powershell 实在是太奇怪了,不适合随意使用。但也许你对 Windows 有所涉猎,只想要一个像 DOS/NT-cmd shell 一样工作但在本世纪有所改进的 shell?也许它具有 80 年代 Unix 的一些功能?也许是 ANSI 颜色?命令替换和多任务处理?让人想起 4NT?

Yori 就是这样。开发人员也很负责。

相关内容