如何使用SCons的env.Command将时间戳附加到匹配的字符串

时间:2012-09-13 22:54:23

标签: python unix build scons

我一直在尝试使用SCons的env.Command函数中的sed shell命令在.properties文件中替换.txt文件名。我目前无法理解如何在此文件中为这些文件名附加时间戳。

天真地我尝试在构建步骤中使用bash变量,如下所示:

 env.Command('foo.out', 'foo.in', "dateVar=$(date +%F-%k-%M); sed -i \"s/\.txt/\.txt?v=$dateVar/g\" example.properties");

...但是这只会导致失败,因为SCons试图用美元符号解析任何东西。有谁知道我怎么能实现这个追加?

1 个答案:

答案 0 :(得分:1)

通过将$写为$$来保护SCons解析器:

env.Command('foo.out', 'foo.in',
            'dateVar=$$(date +%F-%k-%M); '
            'sed -i "s/\.txt/\.txt?v=$$dateVar/g" example.properties');