source命令用于在当前Shell中执行脚本并立即生效配置,典型场景包括重载~/.bashrc、/etc/profile等配置文件,支持source 文件名或. 文件名两种等价写法,修改后需验证变量、函数等是否更新。

source 命令是 Linux 中重载配置文件最直接、最常用的方式,它不是重启终端或重新登录,而是让修改立即在当前 Shell 会话中生效。
什么时候该用 source 重载配置
当你编辑了以下这类文件后,就需要用 source 让改动立刻起作用:
-
~/.bashrc(用户级 Bash 配置,含别名、PATH、函数等) -
~/.bash_profile或~/.profile(登录 Shell 初始化文件) -
/etc/profile或/etc/bash.bashrc(系统级配置,需 sudo 权限) - 你自己写的环境变量脚本,比如
env.sh或dev-env.sh
基本用法和常见写法
命令格式很简单,两种写法完全等价:
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
source ~/.bashrc-
. ~/.bashrc(注意点号后面有个空格)
路径可以是相对路径(如 source ./myconf.sh)或绝对路径(如 source /opt/app/config.sh)。如果文件不在当前目录,推荐写全路径或用 ~ 表示家目录,避免因工作目录不同导致找不到文件。
重载后怎么确认是否成功
不要只看有没有报错,要验证关键项是否更新:
- 检查变量:
echo $PATH或echo $MY_VAR - 检查函数:
type my_function或declare -f my_function - 检查别名:
alias ll - 如果改了提示符(PS1),直接看命令行前缀是否变化
容易忽略的注意事项
使用 source 时要注意几个实际细节:
- 它只影响当前终端窗口/标签页,新开的终端仍需单独 source 或重新登录
- 脚本里如果有
exit,会导致当前 Shell 直接退出,慎用 - 若被 source 的文件语法错误(比如漏引号、未闭合括号),执行会中断并报错
- 修改系统级文件(如
/etc/profile)后,普通用户无法直接 source,需加sudo——但不推荐;更安全的做法是复制一份到用户目录再 source

















