当前位置: 首页 > java >正文

unix/linux source 命令,其发展历程详细时间线、由来、历史背景

追本溯源,探究技术的历史背景和发展脉络,能够帮助我们更深刻地理解其设计哲学和存在的意义。source 命令(或者说它的前身和等效形式)的历史,与 Unix Shell 本身的发展紧密相连。

让我们一起踏上这段追溯之旅,探索 source 命令的由来和发展历程。

早期 Unix Shell 与命令执行 (20世纪70年代初 - 中期)

在 Unix 的黎明时期,第一个重要的 Shell 是 Thompson Shell (sh),由 Ken Thompson 在贝尔实验室开发,大约在 1971 年左右。

  • 基本的命令执行: Thompson Shell 已经具备了执行外部命令(通过 forkexec 系统调用创建新进程)和内置命令的能力。
  • 脚本执行: 它可以执行包含一系列命令的脚本文件。然而,此时的脚本执行方式,主要是通过创建一个新的 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 的开发和完善,. 命令被引入。
    • 由来与历史背景:
http://www.xdnf.cn/news/10332.html

相关文章:

  • 宝塔专属清理区域,宝塔清理MySQL日志(高效释放空间)
  • 基于SpringBoot+Redis实现RabbitMQ幂等性设计,解决MQ重复消费问题
  • Amazon GameLift实战指南:低成本构建高并发全球游戏服务器架构
  • C++ IO流
  • ToolsSet之:XML工具
  • 用户资产化视角下开源AI智能名片链动2+1模式S2B2C商城小程序的应用研究
  • 工作流引擎-05-流程引擎(Process Engine)Camunda 8 协调跨人、系统和设备的复杂业务流程
  • 用mediamtx搭建简易rtmp,rtsp视频服务器
  • 头歌之动手学人工智能-Pytorch 之优化
  • 深入了解Vue2和Vue3的响应式原理
  • OneRef论文精读(补充)
  • 【设计模式-3.4】结构型——代理模式
  • 【位运算】两整数之和(medium)
  • DAY 34 超大力王爱学Python
  • 设计模式——责任链设计模式(行为型)
  • Linux线程同步实战:多线程程序的同步与调度
  • 在 SpringBoot+Tomcat 环境中 线程安全问题的根本原因以及哪些变量会存在线程安全的问题。
  • 代谢组数据分析(二十六):LC-MS/MS代谢组学和脂质组学数据的分析流程
  • 【Linux】shell的条件判断
  • gin 常见中间件配置
  • 系统思考:整体观和心智模式
  • Chrome 通过FTP,HTTP 调用 Everything 浏览和搜索本地文件系统
  • 基于STM32单片机CO气体检测
  • C56-亲自实现字符串拷贝函数
  • python连接邮箱,下载附件,并且定时更新的方案
  • SSM框架前后端网站显示不出来图片
  • stm32——SPI协议
  • 随机响应噪声-极大似然估计
  • 飞腾D2000与FPGA结合的主板
  • C语言基础(08)【循环结构】