如何提取make的版本号?

时间:2016-01-18 15:13:57

标签: bash awk makefile version

如何从bash shell获取make的数字版本号? 我试过了,其中包括:

MAKE_VERSION=$(make --version 2>&1 | awk '/Make/ {print $2}')

但是我得到了“Make”而不是它的版本。

这是我从make --version获得的输出:

GNU Make 4.1
Built for x86_64-unknown-cygwin
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

在这种情况下,我想获得字符串“4.1”。

3 个答案:

答案 0 :(得分:3)

您可以使用:

'post__in' => array($post1_id, $post2_id)

最后一个字段为我们提供了版本号。

答案 1 :(得分:3)

对于force/release版本的4.0+,你也可以使用它:

make

对于mver=$(make --eval '$(info $(MAKE_VERSION))' --eval 'all:;' -q) 版本3.81和3.82(假设为make),您可以使用:

bash

mver=$(make -f <(echo '$(info $(MAKE_VERSION)) all:;') -q) 3.80(及更早版本)没有make功能,因此您可以在此处使用其他答案中的方法或使用$(info)并仍然需要解析它:

$(warning)

答案 2 :(得分:1)

使用headcut

$ make --version | head -1 | cut -d" " -f3
3.81