Что делает эта команда?

В скобках компилятору нужно подсунуть libgcc. С хостовой машины? Я запутался, кто собирал LFS, подскажите пожалуйста.

cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \
  `dirname $(x86_64-lfs-linux-gnu-gcc -print-libgcc-file-name)`/install-tools/include/limits.h

Ответы (1 шт):

Автор решения: KoVadim

cat - распечатать содержимое файла. Если файлов несколько - они печатаются один за одним. В данном случае печатаются файлы gcc/limitx.h gcc/glimits.h gcc/limity.h

Дальше символ > - это перенаправление вывода, в данном случае в отдельный файл, имя которого определяется выражением

`dirname $(x86_64-lfs-linux-gnu-gcc -print-libgcc-file-name)`/install-tools/include/limits.h

этот кусок состоит из двух частей. то, что в обратных кавычках - это команда, которую нужно выполнить и результат подставить вместо этого. Она вычисляет имя директории (каталога). Внутри ещё одна конструкция $(...) - которая делает ровно то же - запускает команду и подставляет ее вывод.

слеш после > - это просто разрыв длинной строки.

→ Ссылка