无法使用 Bash 脚本设置环境变量

无法使用 Bash 脚本设置环境变量

我想从我编写的 bash 脚本中设置环境变量。因此我创建了一个 bash 脚本并调用它set.sh。其内容如下:

#!/bin/bash

export DEV_SRC="/home/m/mydata/sourecCode"
echo $DEV_SRC

当我运行此脚本时,输出是

/home/m/mydata/sourecCode

但如果我在运行上述脚本的同一个终端上运行此代码,

echo $DEV_SRC

我看不到任何价值,所以我认为该价值没有被导出。

为什么值没有被导出?

答案1

默认情况下bash创建当前环境的副本,在该环境中执行脚本,然后销毁该副本。

执行脚本当前的环境中应使用以下语法:

. /home/m/mydata/sourecCode
echo $DEV_SRC

或者

source /home/m/mydata/sourecCode
echo $DEV_SRC

相关内容