【发布时间】:2014-06-03 18:54:06
【问题描述】:
以下python代码
env.Command(versionFile, allSrcs + [".git/index", "SConstruct"],
'echo "#define ZSIM_BUILDDATE \\""`date`\\""\\\\n#define ZSIM_BUILDVERSION \\""`python misc/gitver.py`\\""" >>' + versionFile)
产生这样的输出
$ cat build/opt/version.h
#define ZSIM_BUILDDATE "Sat Apr 19 13:31:41 CET 2014"\n#define ZSIM_BUILDVERSION "master:10:a8c417b:2fc 3+ 2- d5cec7e7"
如您所见,它不理解 '\n' 表示 new line+carriage return。相反,它只打印'\' 和'n'。
我该如何解决这个问题?
P.S:这个问题是这个one 的后续问题。上一篇文章很笼统,并没有指出问题所在。我也使用 scons 进行构建。任何帮助,将不胜感激。谢谢
【问题讨论】:
-
应该是什么结果......只是为了确保我们理解您的 \\"" 和 \\\\n 正确。
-
看起来前面的 \ 是 \\ 在你的情况下!
-
您的意思是将
\\\\n减少为\\n? -
你不是刚刚ask about this吗?问题仍然是相同的 - 额外的转义级别。按照那里的说明将
\\\\n更改为\\n。 -
@mahmood 是的,如果我在你的样本中计算它们,你有 2 \\(转义的反斜杠)和 1 n