0

使用 GNU makefile 内容:

SVNVERSION_NUMBER := $(shell svnversion --version | perl -lne 'print $1 if /version (\d+.\d+.\d+)/')

$(error $(SVNVERSION_NUMBER))

我得到以下结果:

Makefile:3: *** svnversion, version 1.6.2 (r37639).  Stop.

但是,如果我输入:

svnversion --version | perl -lne 'print $1 if /version (\d+.\d+.\d+)/'

我得到结果:

1.6.2

显然,我的 shell 语法并没有像我想的那样做,但我不清楚为什么。

谢谢。

4

1 回答 1

7

$ 在 make 字符串中是特殊的。$$ 用于 perl 命令中的文字美元符号。

于 2009-12-08T04:07:56.753 回答