Версия G CC для печати без информации о лицензии и авторских правах - PullRequest
0 голосов
/ 30 января 2020

Я пишу Makefiles и настраиваю Docker изображений для сборки в среде CI. В этих различных сценариях я хочу напечатать версию инструментов, которые я настраиваю и / или использую.

gcc --version показывает простой номер версии и некоторую информацию об авторских правах и лицензии. Пример вывода на моей машине:

$ gcc --version
gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Есть ли более простой способ получить только информацию о версии, не анализируя этот вывод?

1 Ответ

1 голос
/ 30 января 2020

Вот две идеи:

  1. Вместо этого используйте параметр -dumpversion. Он должен напечатать хороший, краткий номер версии. Работает на любой платформе без дальнейшего разбора.
$ gcc -dumpversion
8.1.0

$ arm-none-eabi-gcc -dumpversion
8.3.1
На Linux (или Bash / MSYS для Windows) у вас есть head, чтобы получить первую строку
$ gcc --version | head -n1
gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0

$ arm-none-eabi-gcc --version | head -n1
arm-none-eabi-gcc.exe (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.1 20190703 (release) [gcc-8-branch revision 273027]
...