从bash脚本更改导出变量的值

时间:2012-12-10 07:41:28

标签: bash

我从bash shell中执行了以下操作。

export myPath="/home/user/dir"

然后我通过'回显'来自shell和bash脚本内部的这个值来验证这个值。两者都很好。

然后我尝试从像这样的脚本中设置此变量的值。 myPath="/home/user/newdir" 并尝试从shell打印此变量。我认为变量将保存更新的值,但它显示的是旧值。

如何更新脚本中的值?如果可能的话,我希望不使用source来实现。

1 个答案:

答案 0 :(得分:5)

要在脚本完成后使变量保持不变,您必须使用source命令运行它:

  

当使用source运行脚本时,它在现有shell中运行,脚本完成后,脚本创建或修改的任何变量都将保持可用。相反,如果脚本只是作为文件名运行,那么将生成一个单独的子shell(带有一组完全独立的变量)来运行脚本。