我一直在尝试使用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试图用美元符号解析任何东西。有谁知道我怎么能实现这个追加?
答案 0 :(得分:1)
通过将$
写为$$
来保护SCons解析器:
env.Command('foo.out', 'foo.in',
'dateVar=$$(date +%F-%k-%M); '
'sed -i "s/\.txt/\.txt?v=$$dateVar/g" example.properties');