Eu gostaria de criar uma tarefa ansible. O manual em si deve instalar e definir algumas configurações em meu novo ambiente Linux, então, uma das coisas que preciso fazer é instalar o zsh e, depois disso, escrever uma linha em /etc/zsh/zshenv desta forma:
- name: Check if /etc/zsh/zshenv exists
ansible.builtin.stat:
path: "/etc/zsh/zshenv"
register: file_status
- name: Creates /etc/zsh/zshenv if it doesn't exists
ansible.builtin.file:
path: /etc/zsh/zshenv
state: touch
owner: root
group: root
mode: '0644'
when: not file_status.stat.exists
- name: configure ZDOTDIR en /etc/zsh/zshenv
ansible.builtin.lineinfile:
path: /etc/zsh/zshenv
line: 'ZDOTDIR=$HOME/.config/zsh/'
state: present
Gostaria de saber se existe alguma maneira de usar apenas uma ou duas tarefas em vez de três. Melhor ainda, como não tenho experiência em executar ansible, gostaria de saber se existe uma maneira melhor de fazer isso.
Muito obrigado antecipadamente!!
lineinfile
módulo tem ocreate
parâmetro para criar um arquivo se ele ainda não existirmode
,group
, eowner
assim comofile
o módulo faz.Resumindo, você só precisa de uma tarefa para atingir seu objetivo: