使用ansible打印出文件的内容

Print out contents of a file using ansible

我想使用 cat 在 ansible 中打印出文本文件的结果。这是我的代码。

 tasks:
        - name: This option
          script: "./getIt.py -s {{ myhostname }} -u {{ myuser }} -p {{ mypass }} >> ./It.txt"
          shell: cat ./It.txt
          when: user_option == 'L'

但这不起作用。我做错了什么?

您正在尝试从单个任务调用两个不同的模块:脚本和 shell。您需要将它们分解……每个任务一个模块!但是,有一种更好的方法可以通过在后续任务中使用 register, and using the debug 模块捕获脚本的输出来显示它:

tasks:
  - name: This option
    script: "./getIt.py -s {{ myhostname }} -u {{ myuser }} -p {{ mypass }}"
    register: script
    when: user_option == 'L'
  - name: stdout of getIt
    debug: msg={{ script.stdout }}
    when: script is defined and script|succeeded