You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行‘bash’与执行`source ./bashrc`的区别及相关疑问

Bash中source命令与启动新bash进程的区别

问题列表

  • source OOOO的具体功能是什么?
  • 运行bash与执行source ./bashrc的结果是否一致?

问题解答

  1. source命令的具体功能
    source是bash的内置命令,核心作用是在当前正在运行的shell进程中,直接执行指定脚本里的所有命令,不会启动新的子进程。

比如你修改了~/.bashrc里的别名或环境变量,执行source ~/.bashrc后,这些修改会立刻在当前shell窗口生效——因为脚本里的配置命令是直接在当前shell进程中运行的,相当于把脚本内容“导入”到了当前会话里。

  1. 运行bash和source ./bashrc的结果完全不一致
    两者的核心差异体现在进程环境和作用范围上:
  • 执行bash会启动一个全新的bash子进程,这个子进程会加载自己的初始化配置(比如默认读取~/.bashrc),但它和原来的父shell完全独立。在这个子shell里做的任何环境变更(比如设置新变量、添加别名),退出子shell后都不会影响父shell的环境。
  • 执行source ./bashrc是在当前shell进程内直接加载配置,所有配置变更都会直接作用于当前会话,不需要新开进程。修改后的环境会一直保留到你关闭这个shell窗口,且不会产生独立的子进程。

简单总结:source是给当前shell“更新配置”,bash是开启一个全新的独立shell会话。


内容的提问来源于stack exchange,提问作者Chung_es

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 11:02:03