虽然 Bash 通常与 Linux 相关,但您也可以在 Windows 上使用它 。 macOS 已经包含 Bash,但它已将默认 shell 更改为 Zsh——Bash 的高级版本,具有一些附加功能。
什么是外壳?
Bash shell 这个术语经常被使用,但是 shell 到底是什么?为什么需要它?为什么 Bash 似乎是唯一的 shell?
现代操作系统及其直观的图形用户界面使计算机的使用变得简单。但在计算机的早期,告诉系统要做什么并不是那么简单。

程序员必须了解他们正在编码的系统的底层细节,并手动指导每个硬件。操作系统的设计就是为了弥补这一差距,但是您将如何指导操作系统本身呢?
进入外壳。操作系统的最外层被设计为一个交互式环境,在一个简单的界面中展示计算机的所有功能。这个 shell 是计算机用户必须深入研究的最深层次,因为它包含操作系统所需的所有命令。
Bourne Again:Bash 是如何诞生的
一个常见的误解是 Bash 是 Linus Torvalds 为 Linux 操作系统创建的。事实上,Bash 只是移植到 Linux 中,已经在其前身 Unix 中使用。
从很多方面来说,Unix 都是现代操作系统的起源。它消除了困扰早期操作系统实现的大部分复杂性,以相对简单的基于文本的界面呈现计算机的功能。
当然,Unix 本身借鉴了 Multics 的大部分思想,包括 shell 的概念。但实际上是 Unix 普及了该技术,Thompson Shell 推出了其第一个版本。

然而,它的功能非常有限,许多程序员最终修改了 shell,使其对脚本更加友好。 Bourne Shell 是 Unix shell 的官方替代品,增加了对 shell 脚本的支持。.
Bourne Again Shell 的发布时间很晚,进一步改进了其脚本功能,并将其转变为可以由任何操作系统使用的免费、开源 GNU 许可证 shell。它很快被 Linux 采用,成为其各种发行版的默认 shell。
但是 Bash 能做什么?
Bash 基本上是一个成熟的脚本环境,可以完全访问 Linux 系统。从管理文件到运行应用程序,您可以使用 Bash 命令执行每项计算任务。
对于大多数 Linux 用户来说,这仅转换为手动 shell 命令。毕竟,Bash 的主要目的是作为操作系统的接口。

这些内置命令有相当多。您可以使用乔恩 管理文件所有权,使用如果配置 配置网络设置,使用寻找 定位目录 - 列表还在继续。
但是,如果用户只对 Linux 命令感兴趣,那么 Bash 就不会存在。不,Linux shell 的真正威力在于脚本。
脚本的重要性
编写命令脚本的想法很简单。您无需手动输入您希望系统一一执行的所有命令,而是将命令保存在可以按需运行的文本文件中。
这将 shell 界面变成了一种编程语言,允许用户将任何操作自动化为可重用的脚本。显然,它比这更进一步,因为任何编程语言除了保存代码的能力之外还需要诸如变量和函数之类的东西。
Bash 具有所有这些功能。这就是为什么 shell(在某种程度上,整个 Linux)在管理服务器和商业系统方面如此受欢迎。
家庭用户可以通过单击一堆按钮来获得,但系统管理员需要能够远程对大量计算机执行任何操作。 Bash 脚本使这种自动化系统管理成为可能。
例如,考虑我们在 Linux 上重命名文件和文件夹的指南 。该指南说明了两种方法——GUI 和脚本。正如您所看到的,当涉及大量文件时,脚本方法的可扩展性要好得多。
开始使用 Bash.
Bash 的好处是它不仅仅局限于 Linux。您现在可以在 Windows 上安装 Linux 通过 Windows Subsystem for Linux (WSL),它默认随 Bash 一起提供。

这意味着您可以开始尝试 Bash,而无需完全切换到 Linux。即使您是一个不打算使用 Linux 服务器的临时用户,Bash shell 的有趣功能也可能对您有用。
并不是说 Bash 是自动化计算任务的唯一选择。 电源外壳 是一个与 Windows 兼容的类似界面 - 当然,除了可以使用 命令提示符 进行管理的内容之外。