1

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

export myPath="/home/user/dir"

然后我通过从 shell 和 bash 脚本中“回显”这个值来验证这个值。两者都工作得很好。

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

如何从脚本更新值?如果可能的话,我希望在不使用的情况下做到这一点source

4

1 回答 1

5

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

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

于 2012-12-10T07:44:35.613 回答