将文本输出存储在变量中(bash)

时间:2014-03-23 12:05:21

标签: linux bash shell unix

至于bash,将文本输出存储在变量中是不是一种坏习惯?我不是指几行,但即使只有几MB的数据。脚本完成后是否应该清空变量?

编辑:我没有详细说明第二部分,我想问一下,如果我在当前shell中运行脚本而不是在子shell中运行脚本,是否应该清空变量,这样它就不会出现这种情况。 t耗尽内存。或者,我不应该在当前的脚本中运行脚本吗?

2 个答案:

答案 0 :(得分:1)

  

脚本完成后是否应清空变量

您需要了解脚本是在子shell(当前shell的子代)中执行的,它获取自己的环境和变量空间。当脚本结束时,该子shell存在,并且该子shell保存的所有变量无论如何都被销毁/释放,因此不需要以编程方式清空变量。

答案 1 :(得分:0)

  

至于bash,将文本输出存储在变量中是不是一种坏习惯?

这很棒的做法!继续使用bash编程,并不关心这种内存问题(直到你想将debian DVD映像存储在一个$debian_iso变量中,然后你就会遇到问题)

  

我不是指几行,但即使只有几MB的数据。应该的   脚本完成后清空变量?

执行完脚本后,bash shell中的所有变量都会消失。它会为你管理内存。也就是说,如果您分配foo="bar",则可以在同一个脚本中访问$foo,但很明显您在另一个脚本中看不到$foo