Как добавить метку времени к соответствующей строке, используя env.Command SCons
Я пытался заменить строку имен файлов.txt в файле.properties, используя команду оболочки shell в функции env.Command SCons. В настоящее время я не понимаю, как добавить метку времени к этим именам файлов в этом файле.
Наивно я пытался использовать переменные bash на этапе сборки следующим образом:
env.Command('foo.out', 'foo.in', "dateVar=$(date +%F-%k-%M); sed -i \"s/\.txt/\.txt?v=$dateVar/g\" example.properties");
... но это только привело к неудачам, так как SCons попытался разобрать что-либо со знаком доллара. Кто-нибудь знает, как я могу добиться этого дополнения?
1 ответ
Решение
Защитить $
от парсера SCons, написав его как $$
:
env.Command('foo.out', 'foo.in',
'dateVar=$$(date +%F-%k-%M); '
'sed -i "s/\.txt/\.txt?v=$$dateVar/g" example.properties');