首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以增加ksh变量接受的最大字符数吗?

可以增加ksh变量接受的最大字符数吗?
EN

Stack Overflow用户
提问于 2013-01-18 04:13:38
回答 1查看 9.3K关注 0票数 4

这是一个后续问题

What is the maximum number of characters that the ksh variable accepts?

我检查了我的环境,它只允许

代码语言:javascript
复制
#include <sys/limits.h>
$ cpp <<  HERE | tail -1
> #include <limits.h>
> ARG_MAX
> HERE
1048576

有没有办法增加这一点?或任何可选的

代码语言:javascript
复制
 while read line;
   do
      #parse logic
   done < $filename

来处理很长的队伍吗?根据我正在解析的记录,它不会在2M字符行上停止。

环境详细信息:

代码语言:javascript
复制
 AIX $ KSH Version M-11/16/88f 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-18 04:22:37

您可以编译一个Linux3.7.x内核,然后编辑它的include/uapi/linux/limits.h文件以增加ARG_MAX参数(2的某个更大的幂,例如2097152)。但是如果你想增加更多的内存,你应该拥有大量的内存(例如8GBytes)。

实际限制与execve(2)相关。那个手册页上有一段话。

但是您可以避免使用庞大的shell变量(在Unix环境中)。您是否考虑过使用其他工具(awkpythonperl……)来读你的档案?它们的变量环境不是传输给forked程序的shell环境,因此它们可以具有非常长的值的变量。也许ksh有一些内置的(unexport)来避免将一些变量导出到Unix环境中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14387344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档