0

SCons の env.Command 関数で sed シェル コマンドを使用して、.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 がドル記号を使用して何かを解析しようとしたため、失敗するだけでした。この追加を達成する方法を知っている人はいますか?

4

1 に答える 1

1

$次のように記述して、SCons パーサーから保護し$$ます。

env.Command('foo.out', 'foo.in',
            'dateVar=$$(date +%F-%k-%M); '
            'sed -i "s/\.txt/\.txt?v=$$dateVar/g" example.properties');
于 2012-09-14T00:03:34.197 に答える