Ansible Playbook 转义大括号{{}}
若想要在Ansible Playbook使用{{ }},需要使用{{ '{{' }} {{ '}}' }}这样的方式进行转换,才能够正常使用
示例
通过 --format 获取docker容器的信息命令
# 通过docker inspect --format 获取指定的容器信息
# 通过column -t格式化列显示
docker inspect --format='Name:{{.Name}} RestartPolicy:{{.HostConfig.RestartPolicy.Name}} MaximumRetryCount:{{.HostConfig.RestartPolicy.MaximumRetryCount}}' $(docker ps -q)| column -t在ansible playbook中使用,需要对 {{ }} 进行转义
- name: check docker RestartPolicy
remote_user: dev
hosts: test_docker_host
gather_facts: False
tasks:
- name: get 输出信息到本地
shell: "docker inspect --format='Name:{{ '{{' }}.Name{{ '}}' }} RestartPolicy:{{ '{{' }}.HostConfig.RestartPolicy.Name{{ '}}' }} MaximumRetryCount:{{ '{{' }}.HostConfig.RestartPolicy.MaximumRetryCount{{ '}}' }}' $(docker ps -q)| column -t > /tmp/docker_restartpolicy.txt"