source在当前 Shell 进程中执行脚本,环境配置全局生效;./script.sh在子进程中执行,退出后失效。
核心语法
source /path/to/script.sh
. /path/to/script.sh # 简写形式执行方式对比
| 方式 | 进程 | 环境生效范围 |
|---|---|---|
source 脚本 | 当前 Shell | 全局生效 |
./script.sh | 子 Shell | 仅子进程内 |
常用场景
激活 Conda 环境
source /path/to/miniconda3/bin/activate让配置文件生效
source ~/.bashrc
source ~/.zshrc加载环境变量和别名
# env_config.sh
export TEST_PATH="/home/user/test"
alias ll="ls -l"
# 加载后直接使用
source env_config.sh
echo $TEST_PATH
ll注意事项
- 仅执行文本格式的 Shell 脚本
- 需要读取权限(无需执行权限)
- 路径需正确,否则报
No such file or directory