跳转到内容

Bash Shell 脚本/关于 Bash

来自维基教科书,开放的书,开放的世界

什么是 Bash?

[编辑 | 编辑源代码]

Bash 是一个“Unix shell”:一个与操作系统交互的命令行界面。它广泛可用,是许多 GNU/Linux 发行版的默认 shell,以前是 Mac OSX 的默认 shell,并且存在适用于许多其他系统的端口。它由一位名叫 Brian Fox 的程序员在 1980 年代后期创建,应 Richard Stallman 的要求,在 自由软件基金会 工作。它的目的是作为 Bourne shell 的自由软件替代品(事实上,它的名字是Bourne Again SHell 的首字母缩略词),它包含了 Bourne shell 的所有功能,以及诸如整数运算和作业控制等新功能[1].

什么是 shell 脚本?

[编辑 | 编辑源代码]

除了交互模式,用户一次输入一条命令,立即执行并获得反馈之外,Bash(与许多其他 shell 一样)还能够运行一整套命令脚本,称为“Bash shell 脚本”(或“Bash 脚本”或“shell 脚本”或简称为“脚本”)。脚本可能只包含一个非常简单的命令列表——甚至只是一个命令——或者它可能包含函数、循环、条件结构以及所有其他命令式编程的特征。实际上,Bash shell 脚本是用 Bash 编程语言编写的计算机程序。

shell 脚本是创建和维护此类脚本的艺术。

shell 脚本可以从上面描述的交互式命令行调用,也可以从系统的其他部分调用。一个脚本可能在系统启动时运行;另一个脚本可能在每个工作日的凌晨 2:30 运行;另一个脚本可能在用户登录系统时运行。

shell 脚本通常用于许多系统管理任务,例如执行磁盘备份、评估系统日志等等。它们也常用于复杂程序的安装脚本。它们特别适合所有这些,因为它们允许复杂性,而无需强制复杂性:如果一个脚本只需要运行两个外部程序,那么它可以是一个两行脚本,如果它需要一个图灵完备的命令式编程语言的全部功能和决策能力,那么它也可以拥有这些功能。

  1. "Bash - GNU Project - Free Software Foundation". Retrieved 28 November 2017.
华夏公益教科书