我有一些脚本,我需要来源。我想从另一个脚本中将它从全局环境中获取。抽象例子:
脚本1:
#/script1
PATH="$PATH:/something"
脚本2:
#/script2
source /script1
我运行bash /script2
并且我希望在全球环境中看到更新的PATH
。但它并没有
更真实的例子:
#/somedir/script1
A=$(./someanotherscript)
#/script2
cd /somedir
source script1
那么,我该怎么做呢?
答案 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