4 Shell 内建命令(Shell Builtin Commands)
在 Shell 自身内部包含的命令被称为内建命令。当一个简单命令的第一个单词是内建命令名时,shell 会直接执行这个命令,而不会去调用其它程序命令。内建命令所实现的功能是其它实用程序所难以实现的和难以替代的。
这一章主要介绍 Bash 继承自 Bourne Shell 的,和其独有的、自身扩展的内建命令。
一些内建命令会在其它章节中介绍:如提供作业控制功能的 Bash 接口内建命令,请参考 7.2 节《作业控制内建命令》;目录堆栈,请参考 6.8.1 小节《目录堆栈内建命令》;命令历史记录,请参考 9.2 节《命令历史记录内建命令》;可编程的命令补全工具,参考 8.7 节《可编程命令补全内建命令》。
大多数内建命令都被 POSIX 或 Bash 进行了扩展。
除非有其它注释,在每个内建命令的说明中都是接受由“-”开头的选项,接受“—”来代表选项的结束。内建命令“true”、“false”和“test/[”不会接受任何选项,并且不会对“—”进行特殊处理。内建命令“exit”、“logout”、“return”、“break”、“continue”、“let”和“shift”都接受并处理以“-”为开头的多个参数,而不需要使用“—”。其它接受参数的但未指定为接受选项的内建命令,将以“-”开头的多个参数翻译为无效选项,并且需要“—”来防止这种解释。