English 中文(简体)
Why is makefile shell result different than doing same in shell?
原标题:

With a GNU makefile content of:

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

$(error $(SVNVERSION_NUMBER))

I get a result of:

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

However, at the shell if I type:

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

I get the result:

1.6.2

Clearly, my shell syntax is not doing what I think it is, but I m not clear on why.

Thanks.

最佳回答

$ is special in make strings. $$ for a literal dollar sign in the perl command.

问题回答

暂无回答




相关问题
KornShell- Creating a fixed width text file

I need to create a simple fixed width text file in KornShell (ksh). My current attempt using printf to pad the string isn t working out very well. What s the shortest, cleanest way to create a fixed ...

unix find command

how to use the find command to find files/directories which are not matching the pattern. for eg: find <some options > -name "dontfile.txt" should give me output of all the find whose file ...

encoding of file shell script

How can I check the file encoding in a shell script? I need to know if a file is encoded in utf-8 or iso-8859-1. Thanks

Case insensitive comparison of strings in shell script

The == operator is used to compare two strings in shell script. However, I want to compare two strings ignoring case, how can it be done? Is there any standard command for this?

1. 露台式照像

在Windows XP中,没有一时出现指挥时,是否有办法操作一种灰色文字? 我常常需要把“善待”(工作)与“灰色”同起来,即使我的文字没有产出,......

热门标签