Bash 学习 - 第2章:Definitions

本文为 Bash Reference Manual第2章:Definitions 的读书笔记。

完整的笔记目录参见Bash学习笔记总目录

2 Definitions

这些定义将在本手册的其余部分中使用。

  • POSIX

    基于 Unix 的开放系统标准系列。Bash 主要关注 POSIX 1003.1 标准的 Shell 和实用程序部分。

  • 空白(blank)

    空格或制表符。

  • 内置(builtin)

    由 shell 本身内部实现的命令,而不是由文件系统中某个可执行程序实现的命令。

  • 控制操作符(control operator)

    执行控制功能的标记。它是换行符或以下之一:

    '||'、'&&'、'&'、';'、';;'、';&'、';;&'、'|'、'|&'、'(' 或 ')'。

  • 退出状态(exit status)

    命令返回给其调用者的值。该值限制为 8 位,因此最大值为 255 。通常0表示成功非0表示失败

  • 字段(field)

    由 shell 扩展之一产生的文本单元。扩展后,执行命令时,结果字段将用作命令名称和参数。

  • 文件名(filename)

    用于标识文件的字符串。

  • 作业(job)

    由管道组成的一组进程,以及从管道派生的任何进程,它们都位于同一进程组中。

  • 作业控制(job control)

    用户可以通过该机制有选择地停止(暂停)和重新启动(恢复)进程的执行。

  • 元字符(metacharacter)

    不加引号时用于分隔单词的字符。元字符是空格、制表符、换行符或以下字符之一:"|"、"&"、";"、"("、")"、"<"或">"。

  • 名称(name)

    仅由字母、数字和下划线组成,以字母或下划线开头的单词。名称用作 shell 变量和函数名称。也称为标识符(identifier)。

  • 运算符(operator)

    控制运算符或重定向运算符。有关重定向运算符的列表,请参阅重定向。操作符至少包含一个未加引号的元字符。

  • 进程组(process group)

    一组相关进程,每个进程都具有相同的进程组 ID。

  • 进程组 ID(process group ID)

    表示进程组在其生命周期内的唯一标识符。

  • 保留字(reserved word)

    对 shell 具有特殊含义的字。大多数保留字引入了 shell 流控制结构,例如 for 和 while。

  • 返回状态(return status)

    退出状态的同义词。

  • 信号(signal)

    内核可以通过该机制将系统中发生的事件通知进程。

  • 特殊内置命令(special builtin)

    已被 POSIX 标准归类为特殊的 shell 内置命令。

  • 标记(token)

    shell 视为单个单元的字符序列。它可以是单词或操作符。

  • 单词(word)

    shell 视为一个单元的字符序列。单词不得包含未加引号的元字符。

还记得上一章介绍的 compgen 命令吗?

bash 复制代码
# 列出所有的保留字(key word)
$ compgen -k
if
then
else
elif
fi
case
esac
for
select
while
until
do
done
in
function
time
{
}
!
[[
]]
coproc

3 Basic Shell Features

Bash 是"Bourne-Again SHell"的缩写。Bourne shell 是 Stephen Bourne 最初编写的传统 Unix shell。Bourne shell 的所有内置命令都可以在 Bash 中使用,求值(evaluation)和引用(quoting)规则取自"标准"Unix shell 的 POSIX 规范。

本章简要总结了 shell 的"构建块":命令、控制结构、shell 函数、shell 参数、shell 扩展、重定向(一种从命名文件直接输入和输出的方式)以及 shell 如何执行命令。

相关推荐
归叶再无青1 天前
web服务安装部署、性能升级等(Apache、Nginx)
运维·前端·nginx·云原生·apache·bash
归叶再无青2 天前
企业级web服务(Tomcat开源web应用服务器)
运维·前端·开源·tomcat·bash
chao_7893 天前
构建start_app.sh,实现快速启动项目
python·bash·终端·前后端
笨笨D幸福3 天前
应用程序重定向技术(Shim)
bash·scoop·shim
xuchaoxin13754 天前
bash@bash帮助命令help@bash命令可用选项设置@bash -c@set命令@set --
bash
ol木子李lo4 天前
Linux 命令备忘录
linux·运维·服务器·windows·编辑器·ssh·bash
dingdingfish5 天前
Bash学习 - 第10章:Installing Bash
bash·make·shell·install·configure·5.3
dingdingfish6 天前
Bash学习 - 第8章:Command Line Editing,第3节:Readline Init File
bash·init·bind·readline
dingdingfish7 天前
Bash学习 - 第8章:Command Line Editing,第6-8节:Programmable Completion
bash·shell·completion·complete·compgen·compopt
dingdingfish7 天前
Bash学习 - 第8章:Command Line Editing,第4-5节:Bindable Readline Commands
bash·emacs·vi·bind·readline