【发布时间】:2018-08-06 18:06:32
【问题描述】:
我有这两行
GCC_VERSION=$(shell gcc --version | grep 'gcc (GCC)' | awk '{print $3}')
$(info $$GCC_VERSION is [${GCC_VERSION}])
打印出来:
$GCC_VERSION is [gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)]
而不是预期的 4.8.5。
它不能正常工作的任何原因?
谢谢。
【问题讨论】:
-
我相信你需要
$(shell gcc --version 2>&1 ...)。我们也必须做一些版本检查。另请参阅GNUmakefile。 -
尝试了 gcc --version 2>&1 ... 和 gcc --version 2>/dev/null ... 结果还是一样。
-
@jww,恐怕你错了。
gcc --version已经在 stdout 上输出了版本字符串,否则,grep(1)不应将其传递给awk。