我从bash shell中执行了以下操作。
export myPath="/home/user/dir"
然后我通过'回显'来自shell和bash脚本内部的这个值来验证这个值。两者都很好。
然后我尝试从像这样的脚本中设置此变量的值。
myPath="/home/user/newdir"
并尝试从shell打印此变量。我认为变量将保存更新的值,但它显示的是旧值。
如何更新脚本中的值?如果可能的话,我希望不使用source
来实现。
答案 0 :(得分:5)
要在脚本完成后使变量保持不变,您必须使用source
命令运行它:
当使用
source
运行脚本时,它在现有shell中运行,脚本完成后,脚本创建或修改的任何变量都将保持可用。相反,如果脚本只是作为文件名运行,那么将生成一个单独的子shell(带有一组完全独立的变量)来运行脚本。