2017-01-22 20 views
0

危険なバージョン2.2、Mac OS X El Capitan印刷用にJinja2が重複して表示される

ポートマッピングのリストを生成しようとしています。

私はその

--- 
- hosts: [localhost] 
    sudo: True 
    pre_tasks: 
    - debug: 
     var: "{% for id in range(100,102) %} 
       '{{ id }}' 
      {% endfor %}" 

のようなコードを実行すると、私はそのような結果を取得することを期待:

" '100' '101'"

しかし、その代わりに、私は結果を得ます:

"'100' '101' '':" 100101 "

なぜこのような結果が得られるのかはあまり明らかではありません。結果からある種のマップを作成するようですが、私はなぜそれが理解できません。

答えて

0

debugモジュールでmsgの代わりにvarパラメータを使用したため、矛盾した出力が表示されるだけです。

試してみてください。

- hosts: localhost 
    tasks: 
    - debug: 
     msg: "{% for id in range(100,102) %} 
       '{{ id }}' 
       {% endfor %}" 

は、より複雑なケースでは、あなたがファイルにコンテンツを保存し、内容を確認することで、デバッグの一層信頼性の高い方法を検討するかもしれません。これにより、Ansibleログを表示するコールバックプラグインの影響を排除します。

- hosts: localhost 
    tasks: 
    - copy: 
     dest: ./result.txt 
     content: "{% for id in range(100,102) %} 
        '{{ id }}' 
        {% endfor %}" 

そして:

cat ./result.txt 
関連する問題