约 1834 字

约 9 分钟

#Bash 的 source 命令

source FILENAME [ARGUMENTS]

功能

在当前 Shell 中执行脚本文件。

类型

Bash 内置命令。

参数

  • FILENAME - 要执行的脚本文件
  • ARGUMENTS - 脚本文件的实参列表

#示例

$ cat > env.sh << 'EOF'                 # 写文件,遇到 EOF 时结束
export DATABASE_URL="postgresql://user:pass@localhost:5432/mydb"
export API_KEY="abc123def456"
export DEBUG="true"
EOF 
$ echo $DATABASE_URL $API_KEY $DEBUG    # 查看环境变量,此时是空的

$ chmod +x  env.sh                      # 授予 env.sh 执行权限
$ ./env.sh                              # 直接执行会创建新的 Shell,因此设置的是新 Shell 的环境变量
$ echo $DATABASE_URL $API_KEY $DEBUG    # 查看环境变量,仍然是空的

$ source ./env.sh                       # 通过 source 命令在当前 Shell 执行,可以设置当前 Shell 的环境变量
$ echo $DATABASE_URL $API_KEY $DEBUG    # 查看环境变量
postgresql://user:pass@localhost:5432/mydb abc123def456 true
  • 直接执行脚本文件会创建新的 Shell,因此设置的是新 Shell 的环境变量
  • 通过 source 命令可以在当前 Shell 执行脚本文件,因此可以设置当前 Shell 的环境变量

#手册

更新: 2025/10/27

作者: PlanC

创建: 2025/10/27