【问题标题】:Changing the value of a export variable from a bash script从 bash 脚本更改导出变量的值
【发布时间】:2012-12-10 07:41:28
【问题描述】:

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

export myPath="/home/user/dir"

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

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

如何更新脚本中的值?如果可能的话,我希望在不使用source 的情况下这样做。

【问题讨论】:

    标签: bash


    【解决方案1】:

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

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

    【讨论】:

    • 这些文件是我不完全理解的大型代码库的一部分。所以我不确定如果我source这个文件可能会出现任何潜在的问题。如果您知道任何替代方案,请分享。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多