如何在PythonAnywhere的makefile中编写反斜杠字符

4
我需要在makefile中连接字符串以获得以下输出:
username\$databasename

自动化构建django项目的过程。我发现在makefile中,$符号必须要写成$$,所以现在我的代码如下:
MYVAR = username$$databasename

我的问题是字符串中的反斜杠!我知道,通常应该转义的\\在这里不起作用,因为它是Makefile的换行函数。

2个回答

4

您可能想尝试使用myvar = username\\"$$"databasename

使用

rule : 
  @echo $(myvar)

这将输出username\$databasename

如果你认为双引号看起来很丑,单引号也可以: myvar = username\\'$$'databasename


如果你想要访问存储在环境变量中的databasename,则使用:

myvar = username\\$$"$$databasename"

例如,myvar = username\\$$"$$USER" 对我来说会输出username\$guiltydolphin


0
在Makefile中,有时我想在LaTeX文档中包含脚本或Python代码片段。
我定义BACKSLASH为Makefile宏,然后在echo语句中使用它。
BACKSLASH = '\\'

reactance_sim: reactance.py
        echo "{"$(BACKSLASH)tiny           >  reactance_sim
        echo $(BACKSLASH)"begin{verbatim}" >> reactance_sim
        cat reactance.py                   >> reactance_sim
        echo $(BACKSLASH)"end{verbatim}"   >> reactance_sim
        echo "}"                           >> reactance_sim
        cp reactance_sim reactance_simulation.tex
        # vi reactance_simulation.tex

上述 Makefile 代码将会获取 reactance.py 文件, 并在需要时创建一个带有反斜杠的 reactance_sim 文件 (比如说LaTeX命令像\tiny和\begin)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接