- name: shared - check if gnu screen is installed ansible.builtin.shell: executable: /bin/bash cmd: "[[ -x `which screen` ]] && echo there || echo absent" register: gnu_screen changed_when: false check_mode: false - name: shared - backup and clean-up stock screenrc (no check mode) ansible.builtin.shell: executable: /bin/bash cmd: | if [[ -f /etc/screenrc.dist ]]; then echo already else mv -i /etc/screenrc /etc/screenrc.dist && \ grep -vE '^#|^$' /etc/screenrc.dist > /etc/screenrc.clean && \ grep -vE '^#|^$' /etc/screenrc.dist > /etc/screenrc && echo changed fi register: backup_screenrc changed_when: >- 'changed' in backup_screenrc.stdout when: gnu_screen.stdout == 'there' - name: shared - screenrc ansible.builtin.copy: src: templates/screenrc dest: /etc/ mode: 0644 diff: true when: gnu_screen.stdout == 'there'