我正在执行一个shell脚本,在高层次上它从csv读取记录并因此执行一些数据库操作。 我通过手动运行脚本进行了分析。它运行正常,文件中的记录少于900条,但它给出了超过900条记录的错误。下面是我在一段时间后得到的错误的屏幕截图:
脚本的一部分是逐个选择记录:
你能否说明为什么会这样?当用户收到该错误时,我已经阅读了类似的主题,但无法将其与我的scneario联系起来。
干杯
答案 0 :(得分:2)
我之前遇到过这个问题,很容易复制:
unset a; export a=$(perl -e 'print "a"x(1024*64)'); whoami
tiago
unset a; export a=$(perl -e 'print "a"x(1024*128)'); whoami
bash: /usr/bin/whoami: Argument list too long
perl -e 'print "a"x(1024*64)' | wc -c
65536
perl -e 'print "a"x(1024*128)' | wc -c
131072
因此65536和131072字节之间的某些内容中断,当我遇到此问题而不是导出值时,我正在打印并使用管道来处理数据。另一种方法是使用文件。
您可以找到不错的实验:What is the maximum size of an environment variable value?