我想将内容转储到列表中,但我不知道现在如何解决此问题。“参数列表太长”显示所有列表元素
当我尝试显示列表中的所有元素,外壳显示:
参数列表太长
Makefile中:
$(FILE_SOURCE:%= echo % >> $(FILE_LIST_TMP);)
消息:
execvp: /bin/sh: Argument list too long
有没有其他方法可以在不重新编译内核的情况下解决这个问题?
我将不胜感激任何建议。谢谢
现在我用perl来解决这个问题。以下是我的方法:你可以在命令行中短得多
while read line; do
perl -e 'print "$$ARGV[0]\n"' $$line >> $(FILE_LIST_TMP) ; \
done < $(FILE_SOURCE)`
这里的两个例子完全不同。在第一个文件中,看起来'FILE_SOURCE'是一个make变量,其中包含一长串文件,在第二个文件中,似乎'FILE_SOURCE'是一个make变量,它包含文件的文件名,其中包含一长串文件。你的情况如何?如果你显示如何定义'FILE_SOURCE',我们可以提供更多的帮助。 – MadScientist
就像说明一样,对于第二个例子,你可以运行'cp $(FILE_SOURCE)$(FILE_LIST_TMP)',这会简单得多,而且速度更快。 – MadScientist