Ansible - 从shell命令循环数组结果

时间:2016-03-10 06:50:15

标签: mysql shell ansible

我开始学习Ansible,我有一些想做的事情。

我有以下代码片段,我试图grep一个文件并在Ansible中的变量上输出结果,然后使用该结果(数组)循环到另一个命令,如下面的代码:

http {

    server {
    listen 80; # Incoming port for Nginx
    server_name www.example.com example.com;
    index index.html index.htm;
    location / {
           root /usr/share/nginx/example;
           try_files $uri $uri/ =404;
           }
    }
    server {
    listen 80; # Incoming port for Nginx
    server_name hello.example.com;
    index index.html index.htm;
    location / {
           root /usr/share/nginx/some_other_example;
           try_files $uri $uri/ =404;
           }
    }
  }

我似乎无法了解应如何做到这一点。我检查了stackoverflow任何相关但我没有看到一个是相同的。请指导我这个。谢谢!

1 个答案:

答案 0 :(得分:2)

table_list put to array任务的输出是一个对象,而不是直接输出。您可以看到debug模块以查看其内容:

- debug: var=tables

参考:Ansible documentation on debug

鉴于您的grep命令正常运行,您应该能够直接访问tables.stdout_lines而不是tables的输出内容。

另请查看Registering Variables