2 名词定义(Definitions)
下列定义会贯穿整个手册:
- POSIX:一组基于 Unix 的开放系统标准。Bash 是主要涉及 POSIX 1003.1 标准的 shell 和实用程序集。
- 空白(blank):一个空格(space)或制表符(tab)字符。
- 内建命令(builtin):一个 shell 内部可执行的命令,不同于存在于文件系统中的可执行程序。
- 控制操作符(control operator):一个用于执行控制功能的标记(token)。它可以是换行(newline)或下列字符之一:‘||’, ‘&&’, ‘&’, ‘;’, ‘;;’, ‘;&’, ‘;;&’, ‘|’, ‘|&’, ‘(’, or ‘)’。
- 退出状态(exit status):命令执行后返回给调用者的值。这个值的长度是 8 位,所以最大值为 255。
- 字段(field):由一个 shell 扩展所产生的文本单位。在扩展完成之后所产生的多个字段将用于作为执行命令的命令名和参数。
- 文件名(filename):用于标识一个文件的字符串。
- 作业(job):一个进程集。其是由管道和该作业所产生的所有子进程组成的。该进程集中的所有进程在一个相同的进程组中。
- 作业控制(job control):一种可以让用户选择性地对执行的进程进行停止(挂起)或重启(恢复)操作的机制。
- 元字符(metacharacter):一个字符,当未被引起来时用于分隔单词。元字符可以是空格(space)、制表符(tab)、换行(newline)或下列字符中的一个: ‘|’, ‘&’, ‘;’, ‘(’, ‘)’, ‘<’, or ‘>’。
- 名称(name):名称是仅由字母、数字和下划线‘_’组成的单词,并只能以字母或下划线开头。其作为 shell 变量名和函数名使用。也参考为标识符(identifier)。
- 操作符(operator):分为控制操作符和重定向操作符。重定向操作符请参考 3.6 章节《重定向》里的重定向操作符列表。操作符至少包含一个未被引起来的元字符。
- 进程组(process group):拥有相同进程组 ID 的一组相关进程集合。
- 进程组 ID(process group ID):在进程组存活周期里表示该组的唯一标识。
- 保留字(reserved word):shell 中具有特殊意义的单词。大多数保留字是用于 shell 过程控制结构中的,例如“for”和“while”。
- 返回状态(return status):与退出状态同义。
- 信号(signal):在系统中当一个内核事件发生时用于通知进程的一种机制。
- 特殊内建命令(special builtin):被 POSIX 标准类分的特殊 shell 内建命令。
- 标记(token):被 Shell 认为是一个单位的字符序列。它可以是一个单词或一个操作符。
- 单词(word):被 shell 视作一个单位的字符序列。单词不会包含未被引用的元字符。