使用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
我想使用 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