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

SCons从操作/命令中删除空间

  •  0
  • netdigger  · 技术社区  · 8 年前

    使用以下命令:

    env.Command('XYZ', 'somefile', 'echo "Hello,    how are   you" > $TARGET')
    

    SCons挤压空间并运行:

    echo "Hello, how are you" > XYZ
    

    并且:

    $ cat XYZ
    Hello, how are you
    

    为什么会这样,我能阻止吗?

    1 回复  |  直到 8 年前
        1
  •  1
  •   dirkbaechle    8 年前

    这是一个已知的问题,记录在bug中 #1123 #2018 .

    在您只想创建文本文件的情况下,有一个简单的解决方案,它具有跨平台工作的额外好处:使用文本文件生成器。。。

    env = Environment(tools=['default', 'textfile'])
    
    env.Textfile('XYZ','Hello,    how are   you')
    

    这将使用 *.txt 扩展,因为这是Builder的默认设置。如果您不喜欢,可以覆盖变量 $TEXTFILESUFFIX 。可以在环境中全局执行,也可以在本地执行单个Builder调用,如:

    env.Textfile('XYZ','Hello,    how are   you', TEXTFILESUFFIX='')