开发工具
我们将介绍使用 Bash 语言所需的开发工具。
选择编程语言
编程是一项实践性技能。如果我们想学习编程,就应该选择一种编程语言并完成实际任务。这是掌握实用技能的唯一途径。
本课程将使用 Bash 语言。该语言非常适合自动化计算机管理任务。以下是使用 Bash 可以实现的一些示例:
- 创建数据备份
- 操作目录和文件
- 运行程序并在程序之间传输数据
Bash 最初是在 Unix 环境中开发的,因此带有明显的 Unix 哲学特征。尽管起源于 Unix,我们也可以在 Windows 和 macOS 上使用 Bash。
要在本地运行示例,需要安装 Bash 解释器和终端模拟器。接下来我们讨论如何安装它们:
- 如果希望本地运行示例,可以在所有现代操作系统上安装 Bash 解释器和终端模拟器。如果使用的是 Linux 或 macOS,系统通常已预装 Bash 解释器。
- 对于 Windows,可以使用 Minimal SYStem (MSYS)。它是 MinGW(Windows 上的极简 GNU)的一部分,包含 Bash、终端模拟器和 GNU 工具。可参考 MSYS 的官方文档进行安装。
Bash 解释器
Bash 是一种脚本编程语言,具有以下特点:
- 它是一种解释型语言。
- 它可以调用现有的程序或高级命令。
- 我们可以将其用作 shell 来访问操作系统功能。
终端模拟器
Bash shell 不是一个普通的图形界面应用程序,它甚至没有自己的窗口。当我们需要使用 shell 时,必须启动终端模拟器程序,然后在终端窗口中操作 Bash。
模拟器是一种模仿其他程序、操作系统或设备行为的程序。它解决了兼容性问题。例如,假设我们想在 Linux 上运行一个 Windows 程序。有多种方法可以实现这一点。其中一种是使用 Linux 上的 Windows 环境模拟器,比如 Wine。Wine 提供了自己版本的 Windows 系统库。当我们在 Linux 上通过 Wine 运行 Windows 程序时,Wine 会使用这些库,使程序像在 Windows 上运行一样正常工作。
终端模拟器同样解决了兼容性问题。命令行程序原本设计为通过终端设备运行。如今已无人使用真正的终端设备,廉价的个人电脑和笔记本电脑已经取代了它们。然而,仍有许多程序需要终端才能运行。我们可以通过终端模拟器来运行这些程序。它通过 shell 将数据传递给程序;当程序返回结果时,shell 再将结果传回终端模拟器,最后由模拟器在屏幕上显示结果。
下图展示了输入输出设备、终端模拟器、shell 和命令行程序之间的交互流程。
Quiz
(选择所有适用项。)关于 Bash 语言,以下哪项是正确的?