2016-08-15 40 views
1

ansibleを使用してリモートファイルの行を置き換えようとしています。可能なlineinfileエスケープ特殊文字

それは含む、phpファイルです:

'cache' => true, 

私はさまざまなソリューションの多くを試みたが、誰が働いていません。私はちょうど近すぎると感じるが、私はそれをすることができない。手伝っていただけませんか? これは私がやったことです:

lineinfile: "dest=/home/ubuntu/www/2.5.0/app/config/preprod/app.php regexp=^\'cache\'=> line=\'cache\' => {{ var }}" 

varは、trueまたはfalseのいずれかで、コマンドラインを介して設定されるパラメータです。出力は私にラインが追加されたことを示しています。しかし、これは私が望むものではありません。前もって感謝します。複雑なケースでparam=valueを使用して

答えて

0

避け、代わりにdictのスタイルを使用し、それは読み非常に簡単です:

- lineinfile: 
    dest: "/home/ubuntu/www/2.5.0/app/config/preprod/app.php" 
    regexp: "^'cache' =>" 
    line: "'cache' => {{ var | string | lower }},"