全球环境的来源

时间:2014-12-10 16:03:54

标签: linux bash

我有一些脚本,我需要来源。我想从另一个脚本中将它从全局环境中获取。抽象例子:

脚本1:

#/script1
PATH="$PATH:/something"

脚本2:

#/script2
source /script1

我运行bash /script2并且我希望在全球环境中看到更新的PATH。但它并没有

更真实的例子:

#/somedir/script1
A=$(./someanotherscript)

#/script2
cd /somedir
source script1

那么,我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

运行bash script2后,您将看不到PATH所做的script1的更改。该更改是运行script2的进程环境的本地更改。如果您想要在当前环境中更改PATH,您需要从中运行script2

$ source script2
$ echo $PATH

答案 1 :(得分:-1)

我相信您没有导出变量,请参阅以下内容:

# script1.sh
PATH="/new:$PATH"
env

在这种情况下,env,即使在此脚本中也无法访问新路径,因为您需要执行此操作:

# script1.sh
export PATH="/new:$PATH"
env