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

Neo*_*low 1 bash

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

export myPath="/home/user/dir"

然后,我通过从shell和bash脚本内部“回显”此值来验证此值。两者都很好。

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

如何从脚本更新值?我正在寻找source尽可能不使用的方法。

NPE*_*NPE 5

要使变量在脚本完成后仍然存在,必须使用以下source命令运行它:

当使用source现有外壳程序中的脚本运行脚本时,脚本完成后,由脚本创建或修改的任何变量将保持可用。相反,如果脚本仅以文件名的形式运行,则将生成单独的子shell(具有完全独立的变量集)来运行脚本。