.htaccess - multiple - blockinfile module
¿Cómo se asegura de que exista una línea y no esté disponible con Ansible LineinFile? (1)
¿Cómo se asegura de que exista una línea específica en un archivo y no está comentado con el `lineinfile ''de ansible?
La línea que quiero sin comentar (en .htaccess
):
#php_flag display_errors on
He usado lo siguiente:
- name: Make sure PHP Errors are turned on
lineinfile: dest={{ www_path }}/.htaccess line="php_flag display_errors on"
En realidad, tu ejemplo funciona como está:
Contenido del archivo .htaccess
:
#php_flag display_errors on
El juego ansible:
- name: Make sure PHP Errors are turned on
lineinfile:
dest: "{{ www_path }}/.htaccess"
line: "php_flag display_errors on"
Resultados de ansible-playbook con esta obra:
$ cat .htaccess
#php_flag display_errors on
php_flag display_errors on
Si el archivo comienza con la línea comentada, verá una segunda línea sin comentar. Para corregir esto, use una expresión regular que coincida con la línea existente y reemplácela:
- lineinfile:
dest: /Users/bwhaley/tmp/file
regexp: ''^#php_flag display_errors''
line: ''php_flag display_errors''
backrefs: yes
Sin embargo, backrefs: yes
cuenta que con los backrefs: yes
si la línea que quiere comentar no está presente y comentada, la jugada no cambiará nada.