我在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
似乎条件中的单引号是无法比拟的。
请帮助纠正语法。我尝试了很多变种,但似乎都没有。
感谢。
- 威廉
答案 0 :(得分:2)
你在svn和perl之间缺少一个管道|
,并且你在回声之后错过了一个反斜杠\
。这对我有用:
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