【发布时间】:2011-01-27 22:04:30
【问题描述】:
shell 变量的大小是否有限制?变量可以容纳的最大大小是多少?
【问题讨论】:
-
答案会因您使用的 shell 而异,但如果必须担心 shell 变量的大小,您可能应该使用更通用的脚本语言,如 Python 或 Ruby。
-
+1 好建议,我想我正在为此编写一个 AWK 脚本。
标签: shell
shell 变量的大小是否有限制?变量可以容纳的最大大小是多少?
【问题讨论】:
标签: shell
是的,他们可以。这取决于您的操作系统和/或外壳风格和版本。如果您希望变量值超过 1-4kB,则使用临时文件会更安全。
另见What is the maximum size of an environment variable value?;这涉及操作系统对总environ 大小(所有VARIABLE=VALUEs 的累积大小)的限制,这会影响exported 变量,但外壳本身可能有其自身的限制。所有(包括非exported)可变大小。
话虽如此,除非您考虑到可移植性,否则 GNU bash 在不限制(非exported)变量的大小方面相对较好,并且很可能只要malloc 就可以保存任意数量的数据可以找到足够的内存和连续的地址空间。 :)
【讨论】: