1. ホーム
  2. docker

[解決済み] Ansibleの二重中括弧のエスケープ

2023-03-24 11:25:35

質問

Ansible 1.9.2 で二重中括弧をエスケープする方法は?

例えば、以下のシェルコマンドで二重中括弧をエスケープするにはどうしたらよいでしょうか。

- name: Test 
  shell: "docker inspect --format '{{ .NetworkSettings.IPAddress }}' instance1"

どのように解決するのですか?

Ansibleで文字が衝突して困ったときは、Jinjaの式で文字列として出力するのが鉄則です。

ですから、代わりに {{ の代わりに {{ '{{' }} :

- debug: msg="docker inspect --format '{{ '{{' }} .NetworkSettings.IPAddress {{ '}}' }}' instance1"

Jinja2 docsのトピック "Escaping"。