此文章記錄ansible使用時一些細節上的坑,ansible版本號:2.6.0(持續更新)
1.when做判斷register創建的變量時要注意是否爲布爾值,用debug輸出一下,有時候你寫"True"可能會跳過,但是True就可以
2.ansible的收集到的PATH變量需要注意,有時候你用源碼安裝的軟件(比如mysql)本地可以執行命令但是使用ansible報"command not find"的錯的時候用debug輸出一下PATH對比一下,本地有的ansible可能沒有,最好把源碼安裝的ln -s到/usr/bin下面
3.在ansible中用shell或command無法使用通配符,儘量避免通配符的使用,如果非要使用可以用/bin/bash -c 'command'進行執行
4.在ansible中想要循環執行命令怎麼辦?可以使用with_item.
---
- hosts: localhost
tasks:
- name: "when test"
command: "{{item}}"
with_items:
- "ls /opt"
- "ls /etc"
- "ls /"
register: a
- debug: var=a
如果以上問題有大佬遇到並有更好的解決辦法歡迎指教,謝謝