至于bash,将文本输出存储在变量中是不是一种坏习惯?我不是指几行,但即使只有几MB的数据。脚本完成后是否应该清空变量?
编辑:我没有详细说明第二部分,我想问一下,如果我在当前shell中运行脚本而不是在子shell中运行脚本,是否应该清空变量,这样它就不会出现这种情况。 t耗尽内存。或者,我不应该在当前的脚本中运行脚本吗?答案 0 :(得分:1)
脚本完成后是否应清空变量
您需要了解脚本是在子shell(当前shell的子代)中执行的,它获取自己的环境和变量空间。当脚本结束时,该子shell存在,并且该子shell保存的所有变量无论如何都被销毁/释放,因此不需要以编程方式清空变量。
答案 1 :(得分:0)
至于bash,将文本输出存储在变量中是不是一种坏习惯?
这很棒的做法!继续使用bash编程,并不关心这种内存问题(直到你想将debian DVD映像存储在一个$debian_iso
变量中,然后你就会遇到问题)
我不是指几行,但即使只有几MB的数据。应该的 脚本完成后清空变量?
执行完脚本后,bash shell中的所有变量都会消失。它会为你管理内存。也就是说,如果您分配foo="bar"
,则可以在同一个脚本中访问$foo
,但很明显您在另一个脚本中看不到$foo