unix/linux source 命令,其发展历程详细时间线、由来、历史背景
追本溯源,探究技术的历史背景和发展脉络,能够帮助我们更深刻地理解其设计哲学和存在的意义。source
命令(或者说它的前身和等效形式)的历史,与 Unix Shell 本身的发展紧密相连。
让我们一起踏上这段追溯之旅,探索 source
命令的由来和发展历程。
早期 Unix Shell 与命令执行 (20世纪70年代初 - 中期)
在 Unix 的黎明时期,第一个重要的 Shell 是 Thompson Shell (sh),由 Ken Thompson 在贝尔实验室开发,大约在 1971 年左右。
- 基本的命令执行: Thompson Shell 已经具备了执行外部命令(通过
fork
和exec
系统调用创建新进程)和内置命令的能力。 - 脚本执行: 它可以执行包含一系列命令的脚本文件。然而,此时的脚本执行方式,主要是通过创建一个新的 Shell 进程来解释和运行脚本中的命令。这意味着脚本对环境的修改(如变量设置)在脚本结束后就会丢失,无法影响父 Shell。
- “.” 命令的雏形: 此时,Thompson Shell 还没有明确的
source
命令。但是,引入命令来执行脚本内命令并在当前上下文中生效的概念,其需求已经开始显现。例如,登录时需要执行一些初始化命令来设置环境。
Bourne Shell (sh) 的诞生与 “.” 命令 (1977 - 1979年)
真正的转折点来自于 Bourne Shell (sh),由 Stephen Bourne 在贝尔实验室开发,并在 Unix Version 7 (大约 1979 年) 中作为默认 Shell 发布。Bourne Shell 带来了许多至今仍在使用的重要特性,其中就包括了我们今天讨论的主角—— .
(点) 命令。
source
的前身/等效形式:.
(点命令)- 时间点: 大约在 1977-1979年 间,随着 Bourne Shell 的开发和完善,
.
命令被引入。 - 由来与历史背景:
- 时间点: 大约在 1977-1979年 间,随着 Bourne Shell 的开发和完善,