当前位置:首页>Linux>Linux基础 | source 命令使用指南:让配置“立刻生效”的关键一步

Linux基础 | source 命令使用指南:让配置“立刻生效”的关键一步

  • 2026-09-08 09:52:50
Linux基础 | source 命令使用指南:让配置“立刻生效”的关键一步
在 Linux 中,你是否遇到过这种情况:
修改了配置文件:
vim ~/.bashrc
然后执行:
echo $PATH
却发现——没有任何变化!
很多新手这时候会:
  • 重新登录
  • 关闭终端再打开
其实,有一个更优雅的方式:
source
一句话理解:

source 用于在当前 Shell 中执行脚本,使配置立即生效。

一、source 命令基本语法

基本格式:
source 文件名
或者简写:
. 文件名
示例:
source ~/.bashrc
作用:立即加载配置文件

二、为什么需要 source?

关键点在于:Shell 脚本的执行方式不同
来看对比:
方式1:直接执行
./test.sh
👉 会启动一个子 Shell
方式2:source 执行
source test.sh
👉 在当前 Shell 执行

三、核心区别(非常重要)

方式
是否新开Shell
变量是否保留
./script.sh
是
不会
source script.sh
否
会保留

四、示例:变量是否生效

创建脚本:
vim test.sh
内容:
VAR=hello
方式1:直接执行
./test.shecho $VAR
输出:
👉 没有值
方式2:source 执行
source test.shecho $VAR
输出:hello
👉 成功生效

五、source 最常见用途

1️⃣ 让配置立即生效
source ~/.bashrc
修改别名、环境变量后常用。
2️⃣ 加载环境变量
source /etc/profile
👉 系统级配置
3️⃣ 执行函数库脚本
source functions.sh
👉 引入函数
类似编程中的:
import / include

六、source 在脚本中的应用

示例:
#!/bin/bashsource config.shecho $DB_HOST
👉 从配置文件读取变量

七、常见错误场景

❌ 修改配置不生效
vim ~/.bashrc
但忘记:
source ~/.bashrc
❌ 变量丢失
./env.sh
变量没有生效
👉 应改为:
source env.sh

八、source vs bash 的区别

很多人会混淆:
source script.shbash script.sh
区别:
命令
执行环境
source
当前 Shell
bash
子 Shell

九、.(点号)写法

source 可以简写为:
. script.sh
两者完全等价:
source script.sh. script.sh

十、实战案例

场景:设置环境变量
vim env.sh
内容:
export APP_ENV=dev
执行:
source env.shecho $APP_ENV
输出:dev
场景:修改 PATH
echo 'export PATH=$PATH:/opt/bin' >> ~/.bashrcsource ~/.bashrc
👉 立即生效

十一、小结

source 是 Linux 中非常关键的命令之一。
它解决的是:

如何让配置和变量“立即在当前环境生效”

一句话总结:

source 就是“在当前 Shell 中执行脚本”的命令。

📌 最后给你一个经典口诀:

执行脚本用 ./

加载配置用 source

最新文章

随机文章