张芷铭的个人博客

source 在当前 Shell 进程中执行脚本,环境配置全局生效;./script.sh 在子进程中执行,退出后失效。

核心语法

1
2
source /path/to/script.sh
. /path/to/script.sh  # 简写形式

执行方式对比

方式进程环境生效范围
source 脚本当前 Shell全局生效
./script.sh子 Shell仅子进程内

常用场景

激活 Conda 环境

1
source /path/to/miniconda3/bin/activate

让配置文件生效

1
2
source ~/.bashrc
source ~/.zshrc

加载环境变量和别名

1
2
3
4
5
6
7
8
# 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

Comments