Are shell variables limited in size? And which is the max size a variable can hold?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Yes they can be. It depends on your OS and/or the shell flavours and versions. It is safer to use temporary files if you expect variable values to exceed 1-4kB.
EDIT
Also see What is the maximum size of an environment variable value?; this deals with the OS limitation on total environ
size (cumulative size of all VARIABLE=VALUE
s) which affects export
ed variables, but the shell itself may have its own limitations re. all (including non-export
ed) variable sizes.
This being said, unless you have portability in mind, GNU bash
is relatively good about not limiting (non-export
ed) variables' sizes and can very likely hold arbitrary amounts of data as long as malloc
can find sufficient memory and contiguous address space. :)