Я хотел бы сбросить содержимое в списке, но я понятия не имею, как решить эту проблему сейчас.«Список аргументов слишком длинный» в отображении всех элементов списка
При попытке отобразить все элементы в списке, раковина показывает:
аргументы список слишком длинный
в 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)', который будет намного проще и LOT быстрее. – MadScientist