## 情况
Bash中运行脚本,export变量,不能用
$./export_var.sh
需要使用
$source export_var.sh
或者
$. export_var.sh
Bash执行第1行命令是在新的进程中,而执行后2行命令是在Bash当前进程中。
## 验证
编写脚本export_pi.sh
#!/bin/sh
export PI=10 # just kidding
echo $PI
ps
在Bash中运行
$echo $PI # 变量PI未设置,为空
$./export_pi.sh
10 # 脚本中变量PI为10
PID TTY TIME CMD
17799 pts/0 00:00:00 bash
17885 pts/0 00:00:00 export_pi.sh # 脚本运行的进程
17886 pts/0 00:00:00 ps
$echo $PI # Bash中变量PI依然为空
$source export_pi.sh
10
PID TTY TIME CMD
17799 pts/0 00:00:00 bash
17888 pts/0 00:00:00 ps
$echo $PI # Bash中变量PI变为10了
10