代码之家  ›  专栏  ›  技术社区  ›  Georgy

web项目生成文件:如何正确使用占位符?

  •  0
  • Georgy  · 技术社区  · 10 年前

    它应该很简单。我有一个web项目的生成文件(不要问我为什么:):

    solution = solution_name
    common = app css js/*.js js/app js/locale #...
    private = app css image js template #...
    
    all:
      @echo Solution '${solution}'
      @tar cvfz ${solution}.tgz --exclude=.svn \
      $(addprefix ../../, ${common}) \
      ${private}
    

    我的目标是拥有应用程序。带有make变量的js文件 %VERSION% 内部,我可以替换它,并将其包含到归档中,而不更改原始文件(以便将来使用此变量)。到目前为止我所发现的是

    sed -i -r "s/%VERSION%/`svnversion`/" js/app.js
    

    这段代码完成了一半的工作。该行在处理后被修改,我无法使用 set 第二次。我如何实现我的目标?非常感谢。

    1 回复  |  直到 10 年前
        1
  •  0
  •   gilhad    10 年前

    我使用以下技巧解决此类问题:

    sed -i 's# *=.*//.*VERSION.*# = "`get_version`" // comment with word VERSION inside it#' myfile.ext
    

    和在myfile中。我有:

    some_variable = '1.2.3.45-r67' // comment with word VERSION inside it
    

    所以每次我运行sed时,它都会得到实际的版本(日期、时间、分支等),这可以根据需要重复