带引号的棘手 makefile 语法
我在 makefile 规则上有以下开始(感谢其他人的帮助),但它还没有完全起作用:
test_svn_version:
@if [ $$(svn --version --quiet \
perl -ne '@a=split(/\./); \
print $$a[0]*10000 + $$a[1]*100 + $$a[2]') \
-lt 10600 ]; \
then \
echo >&2 "Svn version $$(svn --version --quiet) too old; upgrade to v1.6";
false; \
fi
条件中的单引号似乎是不匹配的。
请帮助纠正语法。我尝试了很多变体,但似乎没有一个是正确的。
谢谢。
——威廉
I have the following start on a makefile rule (thanks to help from others), but it doesn't quite work yet:
test_svn_version:
@if [ $(svn --version --quiet \
perl -ne '@a=split(/\./); \
print $a[0]*10000 + $a[1]*100 + $a[2]') \
-lt 10600 ]; \
then \
echo >&2 "Svn version $(svn --version --quiet) too old; upgrade to v1.6";
false; \
fi
It seems the single quote in the conditional is unmatched.
Please help correct the syntax. I've tried many variants, but none seem correct.
Thanks.
-William
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您在 svn 和 perl 之间缺少管道
|
,并且在 echo 之后缺少反斜杠\
。这对我有用:You're missing a pipe
|
between svn and perl, and you're missing a backslash\
after the echo. This works for me: