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

unix/linux source 命令,在当前的 Shell 会话中读取并执行指定文件中的命令

source 命令 (或者它的POSIX等效命令 .):在当前 Shell 环境中执行脚本

简单来说,source 命令的作用是:在当前的 Shell 会话中读取并执行指定文件中的命令。

这意味着,被 source 执行的脚本中的所有命令,就好像是你直接在当前的命令行提示符下逐行输入并执行的一样。

核心关键点:

  1. 当前 Shell 环境 (Current Shell Environment): 这是理解 source 的核心。当你登录系统或者打开一个终端时,你就进入了一个 Shell 环境。这个环境包含了许多东西,比如:
    • 环境变量 (Environment Variables):PATH, HOME, USER, PS1 (命令提示符) 等。
    • Shell 变量 (Shell Variables): 仅在当前 Shell 内部有效的变量。
    • 定义的函数 (Defined Functions): 你在当前 Shell 中创建的函数。
    • 别名 (Aliases): 你设置的命令别名,比如 alias ll='ls -alF'
    • 当前工作目录 (Current Working Directory): 你用 pwd 命令看到的目录。
  2. source 的行为:
    • 当使用 source some_script.sh (或者 . some_script.sh) 时,Shell 会打开 some_script.sh 文件,逐行读取其中的命令,并在 当前的这个 Shell 进程中 执行它们。
    • 因此,如果 some_script.sh 中定义了新的环境变量、Shell 变量、函数,或者修改了已有的,这些改变会直接反映并持久地作用于你当前的 S
http://www.lryc.cn/news/2396975.html

相关文章:

  • [leetcode] 二分算法
  • imgsz参数设置
  • 【算法】分支限界
  • 使用 C/C++ 和 OpenCV 调用摄像头
  • 历史数据分析——广州港
  • 数据库管理与高可用-MySQL全量,增量备份与恢复
  • 从gitee仓库中恢复IDEA项目某一版本
  • 用dayjs解析时间戳,我被提了bug
  • [git每日一句]Changes not staged for commit
  • 架构师面试题整理
  • 类和对象:实现日期类
  • 基于springboot的运动员健康管理系统
  • 华为云Flexus+DeepSeek征文 | 初探华为云ModelArts Studio:部署DeepSeek-V3/R1商用服务的详细步骤
  • 下载即转化的商业密码:解析华为应用商店CPD广告的智能投放逻辑
  • 分布式锁和数据库锁完成接口幂等性
  • 浅谈JMeter之常见问题Address already in use: connect
  • 【机器学习基础】机器学习入门核心算法:随机森林(Random Forest)
  • 【深度学习】12. VIT与GPT 模型与语言生成:从 GPT-1 到 GPT4
  • 常规算法学习
  • Google 发布的全新导航库:Jetpack Navigation 3
  • Arbitrum Stylus 合约实战 :Rust 实现 ERC20
  • 电脑故障基础知识
  • 12.2Swing中JButton简单分析
  • 内存管理--《Hello C++ Wrold!》(8)--(C/C++)--深入剖析new和delete的使用和底层实现
  • JavaScript性能优化实战指南(详尽分解版)
  • 从 AMQP 到 RabbitMQ:核心组件设计与工作原理(一)
  • Java进阶---JVM
  • 鸿蒙OSUniApp离线优先数据同步实战:打造无缝衔接的鸿蒙应用体验#三方框架 #Uniapp
  • 地震资料裂缝定量识别——学习计划
  • C++ 检查一条线是否与圆接触或相交(Check if a line touches or intersects a circle)